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

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

目次 索引
11.1 インターネットの構成要素
11.1.1 ホストとルータ
11.1.2 クライアントとサーバ
11.1.3 パケット
11.2 IPアドレス
11.2.1 IPアドレスとは
11.2.2 IPアドレスの構造
11.2.3 プライベートIPアドレス
11.3 DNS
11.3.1 ドメイン
11.3.2 名前解決
11.4 アンケート11
DNS  IPアドレス  LAN  インターネット  インターネットプロトコル  クライアント  グローバルIPアドレス  経路表  サーバ  ドメイン  ネットマスク  パケット  プライベートIPアドレス  ホスト  ルータ 

11.1 インターネットの構成要素

これまでの授業では、HTMLについて学び、ディレクトリの利用法を考えました。 残りの時間で、ネットワークの仕組み、特に「なぜホームページが見られるのか」について説明します。 ネットワークの仕組みに詳しくなったからといって、高度なホームページが作成できるわけではありません。 「ホームページが見られない」といったトラブルに対処するときや、ホームページ関連のシステム管理に関わるようになったとき、ネットワークに関する知識が重要になるのです。

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 にデータが伝送されます。

11.1.2 クライアントとサーバ

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

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

WWWでは、クライアントはNetscapeなどのWWWブラウザです。 サーバは、WWWサーバとよばれるソフトウェアです。 インターネットを経由して、WWWブラウザとWWWサーバがデータを交換することで、世界中のホームページが見られるのです。

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

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

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

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

11.1.3 パケット

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

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


11.2 IPアドレス

11.2.1 IPアドレスとは

インターネットを構成するホストには、固有の番号が割り当てられています。 これを、 IPアドレスIP address )とよびます。 ここでIPとは、 インターネットプロトコルInternet Protocol )の略です。 プロトコルという用語は、通信規約という意味で使われています。 IPアドレスとは、インターネットの通信規約に基づく、ホストを区別する番号だと言えます。 インターネットでは、IPアドレスの重複は許されません。

例えば、東京女子大学のWWWサーバのホストのIPアドレスは、

202.11.169.5

です。 IPアドレスの書式は、0から255までの範囲の数をドット(.)で区切って4つ書き並べたものです。 ビットの概念を知っていれば、0から255までの数は8ビットで表されることに気づくと思います。 IPアドレスは32ビットで表されます。 前述のIPアドレスを2進数で表すと、

11001010 00001011 10101001 00000101

となります。

11.2.2 IPアドレスの構造

現在、インターネットを構成するホストは日を追って増えています。 新しいホストには、まだ使われていないIPアドレスを割り当てる必要があります。

IPアドレスの重複を避けるため、IPアドレスの割り当てを行っている管理組織があります。 ただし、この管理組織は一台一台のホストにIPアドレスを割り当てているわけではありません。 この管理組織は、会社、学校、プロバイダなど、インターネットを構成する組織(ネットワーク)ごとに、まだ使われていないIPアドレスの範囲を割り当てています。 そしてIPアドレスの範囲をもらった組織は、自分の組織のホストに、自分の組織の判断で、その範囲からIPアドレスを順次割り当てます。

大きな会社などでは、管理組織からもらったIPアドレスの範囲を細分して部 に割り当て、各部はさらに細分して課に割り当てるといったことも行われています。 このようにして、IPアドレスが重複しないようにしています。

IPアドレスの範囲指定は、例えば32ビットの最初の24ビットは決められていて、残りの8ビットは組織に任されるといった、IPアドレスの2進表現に基づいて行われます。 仮に東京女子大学がこのように指定されたとしますと、学内では

11001010 00001011 10101001 00000000

から

11001010 00001011 10101001 11111111

まで、すなわち202.11.169.0から202.11.169.255までの256個のIPアドレスが使えるということです。 (範囲の両端には特別な意味がありますので、実際は254個です。)

ネットマスクnetmask )とは、IPアドレスの32ビットのうち、どのビットが固定され、どのビットが任意なのかを表す番号です。 上記の例ですと、最初の24ビットが固定(1)、残りの8ビットが任意(0)ですので、

11111111 11111111 11111111 00000000

すなわち255.255.255.0となります。

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

11.2.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アドレスは異なりますので、通信に混乱は生じないのです。


11.3 DNS

インターネットを構成するホストには、IPアドレスという固有番号がついていることを知りました。 しかし、IPアドレスは人間にとっては覚えにくいものです。 できれば、ホストに名前をつけ、その名前でホストを指定したいところです。 このためには、次の問題を解決する必要があります。

前者はドメインという概念によって、後者はDNSという仕組みによって実現されています。

11.3.1 ドメイン

ドメインdomain )とは、一言で言えばホストの集まりです。 ドメインは、階層構造を持ち、その構造は普通木で表されます。 ドメインには、階層構造を反映した名前(ドメイン名)がつきます。

例えば、usyd.edu.auはドメイン名です。 これは、オーストラリア(au)の、教育機関(edu)の、シドニー大学(usyd)を表します。 シドニー大学のWWWサーバのホストにwwwと名前をつけた場合、このホストはwww.usyd.edu.auという名前で指定できます。 なお、www.usyd.edu.auはホスト名ですが、これもドメイン名と考えます。 つまり、ホストを一つ集めたドメインと言うわけです。

               |
      +---+----+-+---+---+
      |   |      |   |   |
     com edu ... au  jp  ...
                 |
             +---+---+
             |       |
            edu      ...
             |
         +---+----+--------+
         |        |        |
        usyd     utas      ...
         |        |
      +--+--+  +--+--+
      |  |  |  |  |  |
     www ...  www ...

基本的に、各ドメインにはドメイン名の管理組織が存在します。 より下のドメインのことは、そこの管理組織に管理を委任します。 例えば、edu.auドメインの管理組織は、オーストラリアに大学が新設されたときには、申請されたドメイン名をedu.auの下に登録します。 しかし、シドニー大学に学科が新設さたときは、何もせずusyd.edu.auドメインの管理組織に管理をまかせます。

この、階層構造を反映したドメイン名と、委任の仕組みによって、インターネットで一意となる名前が簡単に用意できます。 例えば、オーストラリアのタスマニア大学(utas.edu.au)で、あるホストにwwwという名前をつけることは、タスマニア大学のみの判断でできます。 そして、このホスト名はwww.utas.edu.auなので、シドニー大学のホストと名前が衝突することはないわけです。

11.3.2 名前解決

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

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

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

と入力したとします。 このとき、ホスト名www.usyd.edu.auの名前解決までには、次のようなやり取りが行われます。

  1. Netscapeは、情報処理センターのネームサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  2. 情報処理センターのネームサーバは、ルートドメインのネームサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  3. ルートドメインのネームサーバは、auドメインのネームサーバのホストのIPアドレスを答える。
  4. 情報処理センターのネームサーバは、auドメインのネームサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  5. auドメインのネームサーバは、edu.auドメインのネームサーバのホストのIPアドレスを答える。
  6. 情報処理センターのネームサーバは、edu.auドメインのネームサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  7. edu.auドメインのネームサーバは、usyd.edu.auドメインのネームサーバのホストのIPアドレスを答える。
  8. 情報処理センターのネームサーバは、usyd.edu.auドメインのネームサーバに、www.usyd.edu.auのIPアドレスを問い合わせる。
  9. usyd.edu.auドメインのネームサーバは、ホストwww.usyd.edu.auのIPアドレスを答える。
  10. 情報処理センターのネームサーバは、Netscapeにwww.usyd.edu.auのIPアドレスを答える。

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


11.4 アンケート11

今日は、レポート課題を出す代りに、授業内容に関するアンケートを行います。 以下の質問に答え、回答をkonishi@twcu.ac.jpあてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業の日付け(6/27)を明記してください。 アンケートに回答すれば、今日の授業に出席したものと見なします。

  1. 現在、インターネットの標準化機構では、ドメイン名に日本語が使えるようにしようという提案がされています。 ドメイン名に日本語が使えますと、例えば東京女子大学のホームページが、
    http://www.twcu.ac.jp/
    の他に、
    http://www.東京女子大学.jp/
    でもアクセスできるようになります。 日本語のドメイン名には、日本語を使う人にとっては分かりやすく覚えやすいというメリットがあります。 一方、日本語を使わない人にとっては読み書きできない文字列であるという問題点があります。 日本語のドメイン名に関する、この他の利点と欠点について、自由に議論してください。 なお、現在のソフトウェアは、ドメイン名は英数字とハイフンの並びであると仮定しています。 従って、ソフトウェアの内部では、日本語の文字を符号に置き換えた文字列(例えば
    http://www.--6771-4eac-5973-5b50-5927-5b66.jp/
    )として処理されることになります。

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

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