[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

情報処理IIA(HTML入門)第11回

目次 索引
11.1 ホストとルータ
11.1.1 インターネットとは
11.1.2 IPアドレスの構造
11.1.3 プライベートIPアドレス
11.1.4 パケットとプロトコル
11.2 クライアントとサーバ
11.2.1 クライアント・サーバ・モデル
11.2.2 ポート番号
11.2.3 DHCPサーバ
11.2.4 DNSサーバ
11.3 WWWとプロトコル
11.3.1 WWWサーバとブラウザ
11.3.2 HTTP
11.3.3 CGI
11.4 演習11
11.5 レポート課題
CGI  DHCP  DNS  HTTP  LAN  WWW  インターネット  クライアント  グローバルIPアドレス  経路表  サーバ  ネットワークアドレス  パケット  プライベートIPアドレス  プロトコル  ポート番号  ホスト  ルータ 

11.1 ホストとルータ

11.1.1 インターネットとは

インターネットthe Internet )とは、世界中の組織のネットワークどうしを相互接続して構成された、世界規模のネットワークです。 インターネットと対比して、組織内のネットワークを LAN (Local Area Network)とよびます。

ネットワークに接続しているコンピュータを ホストhost )とよびます。 ネットワークを相互接続する機器を ルータrouter )とよびます。

今、インターネットを経由して、ホスト A からホスト B へデータを伝送したいとします。 ホスト B がホスト A と同一のネットワークにあるときは、データは直接ホスト B に伝送されます。 そうでなければ、データはルータ R1 に伝送されます。 それぞれのルータには、 経路表routing table )とよばれるリストが格納されています。 ルータ R1 では、経路表にしたがって、ホスト B にたどり着きそうなルータ R2 が決定されます。 そして、データはルータ R1 から R2 に伝送されます。 ルータ R2 でも、経路表にしたがってルータ R3 が決定され、データは R3 に伝送されます。 いくつかのルータを経由して、やがてデータはホスト B のあるネットワークにたどり着きます。 最後に、ホスト B にデータが伝送されます。

Location of hosts and routers
図 11.1  ホストとルータの位置関係

11.1.2 IPアドレスの構造

前回は、IPアドレスの割り当てについて説明しました。 組織(ネットワーク)ごとに、IPアドレスの範囲を割り当てるというものでした。 この仕組みは、ルータの経路表でも利用されます。

ネットワークアドレスnetwork address )とは、(代表)IPアドレスと固定ビット数をスラッシュ(/)で区切った表現です。 これは、前回紹介したネットマスクと同様の役割を果たします。

例えば、仮に東京女子大学のネットワークが、202.11.169.0から202.11.169.255までの範囲のIPアドレスを割り当てられているとします。 このネットワークのネットマスクは255.255.255.0です。 最初の24ビットが固定ということですので、このネットワークのネットワークアドレスは202.11.169.0/24となります。

ネットワークアドレスとホストのIPアドレスを比較しますと、そのホストがそのネットワークのものかどうかが分かります。 また、データの行き先が同じネットワークのホストでしたら、伝送するルータも同じです。 従って、経路表は、データの行き先がホスト H1 ならばルータ R1 へ、ホスト H2 ならばルータ R2 へ、…といった巨大なリストである必要がなくなります。 ネットワークアドレスを登録することにより、データの行き先がネットワーク N1 ならばルータ R1 へ、ネットワーク N2 ならばルータ R2 へ、…といったコンパクトなリストにできるのです。

11.1.3 プライベートIPアドレス

東京女子大学に割り当てられているIPアドレスの範囲が、仮に前述の通りだとしますと、学内には254台しかホストが置けないことになります。 この問題は、プライベートIPアドレスを用いると解決できます。 プライベートIPアドレスprivate IP address )とは、以下の特別な範囲の中のIPアドレスです。

表 11.1  プライベートIPアドレス
IPアドレス ネットマスク
10.0.0.0 255.0.0.0
172.16.0.0 255.240.0.0
192.168.0.0 255.255.0.0

プライベートIPアドレスでないIPアドレスは、 グローバルIPアドレスglobal IP address )とよばれます。

プライベートIPアドレスは、IPアドレスの管理組織に割り当てられなくても自由に使えるIPアドレスです。 ただし、そのまま使いますと、インターネットでIPアドレスが重複する可能性があります。 一般的には、組織を代表するホストにグローバルIPアドレスを割り当て、その他のホストにプライベートIPアドレスを割り当てます。 組織内で通信するときは、プライベートIPアドレスは重複しませんので、とくに工夫は要りません。 組織外と通信するときは、ルータがプライベートIPアドレスをグローバルIPアドレスに変換し、あたかもグローバルなホストが通信しているように見せます。 (このようなルータは、NAT(Network Address Translator)とよばれます。) このようにしますと、たとえ同じプライベートIPアドレスが複数の組織で使われていましても、変換後のグローバルIPアドレスは異なりますので、通信に混乱は生じないのです。

Private IP addresses and NAT
図 11.2  プライベートIPアドレスとNAT

11.1.4 パケットとプロトコル

インターネットで伝送されるデータは、 パケットpacket )とよばれる単位を持っています。 つまり、(大きな)データを伝送するとき、送信側のソフトウェアはデータをそのまま送信するのではなく、データをパケットに分割し、一つ一つのパケットを送信します。 そして、受信側のソフトウェアは、受信したパケットを統合し、元のデータに復元するのです。

データをパケットに分割することにより、インターネットが誰かに占有されることがなくなります。 もし、巨大なデータがそのまま送信されたならば、ルータは長い時間をかけてそのデータを伝送することになります。 その間、他のデータは受け付けられませんので、長い時間にわたって他のデータが伝送できなくなってしまいます。 巨大なデータをたくさんのパケットに分割すれば、ルータはそれらのパケットを伝送するすきに、他のデータ(のパケット)を伝送できるのです。

IPアドレスのところで説明しましたが、 プロトコルprotocol )とは、通信規約のことです。 ホームページが見られるのは、HTTPとよばれるプロトコルに基づいて通信が行われているからです。 ただし、HTTP自身は、ホームページの内容を電気信号に置き換える規約ではありません。

プロトコルにはいくつかの階層があります。 最も上位の階層はアプリケーション層とよばれ、ソフトウェアに依存する部分の規約を定めています。 (HTTPはここのプロトコルです。) 最も下位の階層は物理層とよばれ、電気信号に関する規約を定めています。 アプリケーション層と物理層の間には複数の階層があり、パケットをやり取りするための規約が段階的に定められています。 それぞれの階層のプロトコルに従って、ホームページの内容がパケットに置き換わり、そして電気信号に置き換わるのです。

プロトコルを階層化する利点は、プロトコルの変更がしやすくなることです。 例えば、銅線ではなく光ファイバによる通信を開始する場合、光信号に置き換えるための物理層のプロトコルだけが用意されます。 アプリケーション層のプロトコルであるHTTPは、たとえ銅線から光ファイバに変わっても、そのまま使えるのです。


11.2 クライアントとサーバ

11.2.1 クライアント・サーバ・モデル

コンピュータは、ソフトウェアが稼働してはじめて機能することに注意してください。 ホスト A からホスト B にデータが伝送されるのは、ホスト A で稼働しているソフトウェアが、ホスト B で稼働しているソフトウェアにデータを伝送しようとするからです。

データを伝送するソフトウェアには、データを提供することが主であるソフトウェアと、データを要求することが主であるソフトウェアがあります。 提供する側のソフトウェアを サーバserver )とよび、要求する側のソフトウェアを クライアントclient )とよびます。

ここで、ルータは単にデータを交換しているだけであることに注意してください。 インターネットでデータを処理するのは、ホストで稼働しているソフトウェアなのです。

11.2.2 ポート番号

ホストとサーバは、しばしば同一視されますが、この授業ではできるだけ区別します。 ホストはコンピュータ(ハードウェア)で、サーバはソフトウェアなので、確かに別物です。 しかし、区別する本当の理由は、通常一つのホストの上で複数のサーバが稼働しているからです。

パケットとは、インターネットで伝送されるデータの単位でした。 パケットは、制御データ(ヘッダとよばれる)と伝送データから構成されます。 ヘッダには、宛先のIPアドレスと、ポート番号とよばれる数値が含まれます。 ルータは、ヘッダの宛先IPアドレスを見て、パケットを適切なホストに向けて伝送します。 ポート番号port number )とは、サーバなどの伝送先ソフトウェアを区別する番号です。 ホストに届いたパケットは、ポート番号に従って、適切なソフトウェアで処理されます。 IPアドレスとポート番号によって、伝送先のホストとソフトウェアが決定されるのです。

11.2.3 DHCPサーバ

はじめに紹介するサーバは、 DHCP (Dynamic Host Configuration Protocol)サーバです。 これは、使われていないIPアドレスを動的に割り当てるソフトウェアです。 プロバイダ経由でパソコンをインターネットに接続する際によく使われます。

買ってきたばかりのパソコンには、IPアドレスは割り当てられていません。 プロバイダと契約しても、普通はIPアドレスは指定されません。 しかし、パソコンにはDHCPクライアントにあたるソフトウェアが組み込まれています。 パソコンをプロバイダに接続するとき、このDHCPクライアントが稼働します。 DHCPクライアントは、DHCPサーバに対してIPアドレスの割り当てを要求します。 DHCPサーバは、この要求に応じ、その時点で未使用のIPアドレスを選び、DHCPクライアントに返答します。 そして、DHCPクライアントはこのIPアドレスをもとにパソコンの設定を行います。 IPアドレスが割り当てられたので、このパソコンはインターネットを構成するホストになり、インターネット上のサービスが利用できるわけです。

11.2.4 DNSサーバ

次に紹介するサーバは、 DNS (Domain Name System)サーバです。 DNSサーバは、ネームサーバともよばれます。 これは、ドメイン名からIPアドレスを割り出すソフトウェアです。 DNSの働きによって、IPアドレスだけではなく名前によってもホストが指定できます。

ドメイン名からIPアドレスを割り出すには、どこかのホストにその対応表を登録しておけばよさそうです。 しかし、ドメイン名をどうつけるかは、基本的に各ドメインの管理組織に委任されていますから、その対応表もドメインごとに設置されることになります。 このばらばらの対応表を組み合わせ、ドメイン名からIPアドレスを割り出す(名前解決といいます)仕組みがDNSです。

例えば、情報処理センターで、Netscapeの「場所:」入力欄に

http://www.usyd.edu.au/

と入力したとします。 このとき、NetscapeはDNSクライアントの機能を働かせて、ドメイン名www.usyd.edu.auの名前解決を行うわけですが、名前解決までには次のようなやり取りが行われます。 ここで、ルートドメインとは木の根にあたるドメインです。

  1. DNSクライアントは、情報処理センターのDNSサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  2. 情報処理センターのDNSサーバは、ルートドメインのDNSサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  3. ルートドメインのDNSサーバは、auドメインのDNSサーバのホストのIPアドレスを答える。
  4. 情報処理センターのDNSサーバは、auドメインのDNSサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  5. auドメインのDNSサーバは、edu.auドメインのDNSサーバのホストのIPアドレスを答える。
  6. 情報処理センターのDNSサーバは、edu.auドメインのDNSサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  7. edu.auドメインのDNSサーバは、usyd.edu.auドメインのDNSサーバのホストのIPアドレスを答える。
  8. 情報処理センターのDNSサーバは、usyd.edu.auドメインのDNSサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  9. usyd.edu.auドメインのDNSサーバは、ホストwww.usyd.edu.auのIPアドレスを答える。
  10. 情報処理センターのDNSサーバは、DNSクライアントにwww.usyd.edu.auのIPアドレスを答える。
Resolving names by DNS
図 11.3  DNSによる名前解決

ドメインの階層の上から順番に解決していることに注意してください。 ただし、このやり取りは最悪の場合です。 実際には、情報処理センターのDNSサーバがauドメインのDNSサーバのホストのIPアドレスを知っていたり、auドメインのDNSサーバがusyd.edu.auドメインのDNSサーバのホストのIPアドレスを知っていたりしますので、もっと能率よく名前解決が行われます。


11.3 WWWとプロトコル

11.3.1 WWWサーバとブラウザ

最後に紹介するサーバは、 WWW (World Wide Web)サーバです。 WWWサーバは、ウェブサーバともよばれます。 これは、URLによって指定されるHTMLドキュメントなどを転送するソフトウェアです。 WWWクライアントにあたるソフトウェアは、NetscapeなどのWWWブラウザ(ウェブブラウザ)です。 つまり、Netscapeがデータを要求し、それに応じてWWWサーバがデータを提供するわけです。

例えば、情報処理センターでシドニー大学のホームページを見ようとして、Netscapeの「場所:」入力欄に

http://www.usyd.edu.au/

と入力したとします。 このときNetscapeは、シドニー大学のホストで稼働しているWWWサーバにむけて、要求データ(このURL)を送信します。 いくつかのルータを経由して、WWWサーバは要求データを受信します。 WWWサーバは、要求データを処理し、提供データ(シドニー大学のホームページのHTMLドキュメント)を決定します。 そして、情報処理センターのホストで稼働しているNetscapeにむけて、提供データを送信します。 再びいくつかのルータを経由して、Netscapeは提供データを受信します。 Netscapeは、提供データを処理し、シドニー大学のホームページを描画します。

11.3.2 HTTP

以前、ホームページが見られるのは、HTTPとよばれるプロトコルに基づいて通信が行われるからだと説明しました。 HTTP (HyperText Transfer Protocol)とは、WWWサーバとブラウザの間のプロトコルです。 HTTPの仕組みは単純です。

  1. ブラウザからWWWサーバへ、URLを表す文字列を転送する。
  2. WWWサーバからブラウザへ、ファイル情報を表す文字列と、(空行と、)指定されたファイルの内容を転送する。

これだけです。 このやり取りを何度か繰り返して、ブラウザはホームページの表示に必要なデータを集めます。

なお、ブラウザへ送られるファイル情報の中では、ファイルの種類が重要です。 HTML形式のファイルを転送すときには、ファイル情報の中で

Content-Type: text/html

という文字列が送られます。 JPEG形式のイメージのときには、

Content-Type: image/jpeg

という文字列が送られます。 ブラウザは、受け取ったファイル情報をもとに、テキストファイルの場合、イメージファイルの場合と、適切な処理を行います。

シドニー大学のホームページ

http://www.usyd.edu.au/index.html

の内容が、仮に

<html>
<head>
<title>The University of Sydney</title>
</head>
<body>
<div>
<img src="images/logo.gif"
     alt="The University of Sydney"
     width="500" height="50">
</div>
...
</body>
</html>

であるとします。 (実際はもっと複雑です。) Netscapeでシドニー大学のホームページを見た場合、Netscapeとシドニー大学のホストのWWWサーバとの間では、おおよそ次のようなやり取りが行われます。

  1. Netscapeは、DNSによってホストwww.usyd.edu.auのIPアドレスを知る。
  2. Netscapeは、そのIPアドレスとポート番号(HTTPは通常80)に対して、文字列GET /を転送する。
  3. WWWサーバはNetscapeに対して、Content-Type: text/htmlなどの文字列と、ファイルindex.htmlの内容を転送する。
  4. Netscapeは、転送されたファイルをHTML形式と見なし、イメージの部分を空けて表示する。
  5. そのHTMLドキュメントの中には、
    <img src="images/logo.gif" ... >
    というイメージファイルの指定があるので、この相対URLを解決し、絶対URL
    http://www.usyd.edu.au/images/logo.gif
    を得る。
  6. Netscapeは、DNSによってホストwww.usyd.edu.auのIPアドレスを知る。
  7. Netscapeは、そのIPアドレスとポート番号に対して、文字列GET /images/logo.gifを転送する。
  8. WWWサーバはNetscapeに対して、Content-Type: image/gifなどの文字列と、ファイルlogo.gifの内容を転送する。
  9. Netscapeは、届いたファイルをGIF形式のイメージと見なし、空けておいた部分にそのイメージを表示する。
  10. ....
  11. もとのHTMLドキュメントに指定されているイメージがすべて届いたので、転送を終了する。

11.3.3 CGI

ロボット系検索エンジンでは、検索語を入力しますと、しばらくして検索語に関するホームページが表示されます。 実は、検索語ごとにHTMLファイルがあらかじめ用意されているわけではありません。 検索エンジンのプログラムは、検索語などのデータを受け取りますと、データベースに基づいて検索語に関する情報を集め、その場でHTMLドキュメントを合成し、それをブラウザに転送しているのです。 このようなプログラムは、一般に CGI (Common Gateway Interface)プログラムとよばれます。


11.4 演習11

ネットワークの仕組みについて、以下の問いに答えなさい。

問1. IPアドレスのIPとは何の略ですか。

A. Internet Protocol
B. Internet Provider
C. Internet Portal
D. Internet Password

問2. IPアドレスは何ビットで構成されますか。 (IPのバージョンは4とします。)

A. 32ビット
B. 64ビット
C. 128ビット
D. 256ビット

問3. ドメイン名の説明について適切なものを次から選びなさい。

A. 必要な手続きを取れば、新しいドメイン名が設置できます。
B. すべてのドメイン名は、アメリカのネットワーク管理組織が一括管理しています。
C. ドメイン名は、ドットで区切られた4つの数で表現されます。
D. ドメイン名の表現は、左から右に行くほど特定的になります。

問4. トップレベルドメインに関する説明のうち、適切でないものを選びなさい。

A. eduドメインは、主にアメリカの政府機関で使われます。
B. comドメインは、主に営利を目的とした組織で使われます。
C. netドメインは、主にネットワークを運営する組織で使われます。
D. orgドメインは、主に営利を目的としない組織で使われます。

問5.

http://www.twcu.ac.jp/cis/

のように、ディレクトリ名で終わるURLを指定してWWWブラウザで開くとどうなりますか。 次のうち、適切でないものを選びなさい。

A. ファイル index.html が指定されます。
B. ランダムに選ばれたファイルが指定されます。
C. ディレクトリの内容一覧が表示されます。
D. エラーメッセージが表示されます。

問6. ファイル

/home/b00a/b00a001/WWW-local/trip/trip.html

から

/home/b00a/b00a001/WWW-local/trip/hyogo/kobe.html

へリンクを張りたいとします。 trip.html でどう指定したらよいですか。 次から適切なものを選びなさい。 ( <base> タグはないものとします。)

A. <a href="trip/hyogo/kobe.html">神戸へ</a>
B. <a href="hyogo/kobe.html">神戸へ</a>
C. <a href="../hyogo/kobe.html">神戸へ</a>
D. <a href="../kobe.html">神戸へ</a>

問7. ルータについて適切な説明を次から選びなさい。

A. ルータは、通信に関する規約です。
B. ルータは、ネットワークを相互接続する機器です。
C. ルータは、データの転送単位で、データが通信される際に分割されたものです。
D. ルータは、データを提供するソフトウェアです。

問8. DNSサーバの機能について適切な説明を次から選びなさい。

A. プライベートIPアドレスをグローバルIPアドレスに変換します。
B. 要求に応じて、未使用のIPアドレスを動的に割り当てます。
C. 指定されたドメイン名から、対応するIPアドレスを割り出します。
D. ホスト自身のIPアドレスを答えます。

問9. WWWはクライアント・サーバ・モデルに基づいていますが、これについて適切な説明を次から選びなさい。

A. クライアントであるブラウザは、WWWサーバに組み込むことのできるソフトウェア部品です。
B. WWWサーバは、クライアントであるブラウザに組み込むことのできるソフトウェア部品です。
C. クライアントであるブラウザの要求に応じて、WWWサーバがデータを提供します。
D. WWWサーバの要求に応じて、クライアントであるブラウザがデータを提供します。

問10. イメージ(画像)が埋め込まれたホームページを開くとき、ネットワークではどのようにファイルが転送されますか。 適切な説明を次から選びなさい。

A. HTMLファイルとイメージファイルが比較され、新しい方が転送されます。
B. HTMLファイルとイメージファイルが一塊のファイルとなって転送され、あとで分離されます。
C. はじめにイメージファイルが転送され、続いてHTMLファイルが転送されます。
D. はじめにHTMLファイルが転送され、続いてイメージファイルが転送されます。

11.5 レポート課題

今日の演習11の解答をkonishi@twcu.ac.jpあてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業の日付け(6/19)を明記してください。


[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

2003年6月19日更新
konishi@twcu.ac.jp
Copyright (C) 2003 Zenjiro Konishi. All rights reserved.