「インターネット概論」の目次

4. ネットワーク・アプリケーション(4)

更新:平成10年10月4日15時5分

 11月の講義ではWWWの仕組みの部分と, 新しいインターネットの応用技術であるオーディオ・ビデオツールについて話します.

 10月のWWWシステムの話では技術的な話というよりは利用技術的な話をしました. でもWWWシステムの仕組みを知ると実はもっと違う使い方が考えられたり, これからどのようにWWWが広がって行くのかもおおよそながら理解できると思います. また,今,何が問題なのか,何が解決されなければならないのかも分かります. ネットワークもコンピュータも非常に速いペースで進化していっているだけに, 今はちっぽけな道具しかなくとも,ネットワークやコンピュータ技術が良くなれば, りっぱな道具になる可能性を秘めています.

 後半では,マルチメディアの話を少ししたあとで, インターネット放送とかテレビ会議のような話題を取り上げます. この分野の話はどんどん新しい道具が出現しているので, この時点での話しか出来ませんので,その点だけを断わっておきます. また私が実際に使ったものとか,興味をもっているものを中心に話をします.


4.5 WWW(World Wide Web)(続き)

4.5.5 WWWの仕組み

 WWWシステムでは,WWWブラウザとWWWサーバがあると 4.5.1や4.5.2では話しました. あるホームページを見に行く事を考えていましょう. WWWブラウザでする事を箇条書に書いておきます.

 適当なWWWブラウザを開くときっと何処かのホームページが開くでしょう. これはそのWWWブラウザに最初に見に行くホームページのURLが書いてあります. 大体は買ったブラウザの中に初期値が都合良く書かれている筈です. URL(Uniform Resource Locator)については4.5.6で話します.

 読み込まれたホームページは xxxx.htmlまたは Windows系のWWWサーバにあるホームページでは xxxx.htm のような名前になっています. このHTMLについては4.5.1項で簡単ですが説明しました. WWWブラウザは,このように .html とか .htm と記述しているファイルを 読み込むと,それはHTML形式のファイルだと認識して, タグの種類などを見ながら表示をしていきます. HTMLは言語ですし,標準的にも常に拡張されており, WWWブラウザのメーカ(Netscape Navigator社やMicro Soft社等)も 独自の拡張をしています. したがって解釈出来ないものも出て来ています.

 HTMLはWWWシステムのホームページを記述する言語(プログラム)と 考えてもらえばいいのですが,基本的には文字の固まりですので, 文字だけでは記述出来ないものをファイル名として記述して, ホームページの中に取り込んだり, 別のアプリケーションを起動させて処理させたりします. このようなファイル名には拡張子(.htmlも拡張子です)をつけて そのファイルが何を表すかを示す事にしています. 以下は良く使われるものです.

ブラウザが扱うデータとその拡張子
拡張子説明処理するもの
.html, .htmHTML形式ブラウザ
.gif, .jpeg, .jpg静止画像ブラウザ
.docWORDの文書MS WORD
.xlsEXCELのデータMS EXCEL
.pptPowerPointのデータMS PowerPoint
.aviMSの動画ブラウザ*
.qt, .movQuick Time:動画ブラウザ*
.mpegMPEG:動画ブラウザ*
.raReal Audio:音声Real Audio
.wavWave形式の音声ブラウザ*
.aif, .aiffAiff形式の音声ブラウザ*
.au, .sndAU形式の音声ブラウザ*
.xdmStreamWorksのデータStreamWorksクライアント
「ブラウザ*」と記述される所はWWWブラウザや設定でも異なります.

 上の表を見てもらえば分かるように,良く使われるアプリケーション (ワープロ,表計算,プレゼンテーション)や マルチメディア(静止画,動画,音声)がWWWブラウザでは表示され (一部は「聞こえ」)ます.

 適当なリンク先をクリックする事を考えて見ます. この適当なリンク先は実際にはHTMLファイルの中では,
    <A HREF="http://www.osaka-cu.ac.jp/">大阪市大のホームページ</A>
のように書いてあります.この意味は,

というものです.

 上のリンク先の表現は
  <A HREF="http://www.osaka-cu.ac.jp/index.html">大阪市大のホームページ</A>
でも同じです.この場合は,

と同じようになります. これは大阪市大のWWWサーバでは,単に//www.osaka-cu.ac.jp/でアクセスされても, index.html等の予め決められたファイルをWWWブラウザに送るように なっているからです.index.html以外にもindex.htmやwelcome.htmlも良く使われます.

 さて,ここでhttp(hyper text transfer protocol)と言う名前が出て来ました. これは電子メールではsmtp(simple mail transfer protocol)というプロトコルが 使われたようにWWWサーバを呼び出すプロトコルです. このようなアプリケーション・レベルのプロトコルには,共通なものとして TCP(UDPもある)がある事を3.3節で話しました.(難しくなった所ですね) TCP(Transmission Control Protocol)は信頼性をもった1つのセッションを 張るために必要な機能を実現したプロトコルです. このプロトコルの上位に各アプリケーションのプロトコルがあります. そのために各アプリケーションにはポート(port)番号がふり与えられる事は, 3.1.3項でhttpを例にして話しました. ポート番号はコンピュータとコンピュータが インターネット(イントラネットでも構いませんが)を介して接続された場合に, どのアプリケーション間がお話をするのかを決める大事な番号です. その大事な番号でも良く使うものはwell known port numberと言って 取り決めがあります. そのはTCPの説明の所に入れてあります.

 httpのポート番号は80なので,先程のアクセスが以下のように読み替えられます.

  • B:TCPのポート80番で
  • B→S:www.osaka-cu.ac.jpというコンピュータのWWWサーバにアクセスします.
  • S→B:www.osaka-cu.ac.jpというコンピュータはindex.htmlのファイルの中身を アクセスしてきたWWWブラウザに送ります.
  • B:WWWブラウザは送られて来たデータをHTML形式だとみなして処理します.

     このアクセスの流れが図3-2で示したサーバとブラウザの データのやりとりになります.WWWブラウザからはファイル名を指定して (追加情報としてはディレクトリ/フォルダ名の指定)してデータを取り込み, 取りにいったファイル名の拡張子に応じてにあるように 適当な処理を行う事になります.

     WWWブラウザは得た(GET)データをどのように加工するかは ブラウザに任されています. ですからブラウザが違えば表示の仕方が違いますし, 最近のブラウザはいろいろな設定やオプションがあるので, 本当にまちまちの表示や処理をします. また様々なデータを扱う為にplug-inのソフトウェアがあり, これらを入れる事によってそれに対応した拡張子がついたファイルを 読み込んで処理をする事が出来るようになります.

     では,WWWサーバの方ではどのように動くのでしょうか. WWWサーバにも幾つかの系列のサーバがありますが, ここでは一般的と思われる話をします. WWWブラウザがWWWサーバをアクセスすると, WWWサーバでは通常httpdというプログラム(デーモン)が走っていて, このhttpdが相手のWWWブラウザと話をします. でも大抵は複数の所からアクセスに来ますから,httpdの親が1ついて, その親がそれぞれブラウザに対応するために httpdの子供(同じくhttpdです)を作成して対応させます. 設定によっても違いますが,数十以上を同時アクセス可能にさせています. 今は,日曜の夕方ですが,www.media.osaka-cu.ac.jpでは4つの子供のhttpdが 動いています.

     良くアクセスされるWWWサーバ(検索エンジン等)では 同時に多くのWWWブラウザからアクセスされます. 最近の傾向としては強力なコンピュータをWWWサーバ用に用意するのではなくて それほど強力でなくとも(と言っても最近のPCは強力です)複数のほどほどの PC系のサーバでWWWサーバを運用しているようです. このあたりの話は, 1月に話す予定の「情報システムの構築」のところでするつもりです.


    4.5.6 URL

     さきほど,「http://www.osaka-cu.ac.jp/」はURL(Uniform Resource Locator) であると説明しました. そのまま直訳すると「すべての資源のあり場所」とでもなるでしょうか. たとえば,
      ftp://www.nic.ad.jp/
    とすると,JPNICと呼ばれる日本のJPを管理する社団法人のFTPサーバに アクセスできます.この表現で分かるようにWWWブラウザが扱えるのは httpだけではない事が分かります.また,
      FILE:xxxxxx.html
    とすると自分のPCのHTMLファイルを表示できるようになります.

     WWWブラウザで扱えるプロトコルはブラウザによっても違いますが, 今,私が使っているNetscape Navigator 3.01(ja)では

    等となっていますが,http以外ではftpをたまに使う程度だと思います.

     URLでは,
      http://xxx.xxx.xxx:8080
    のように最後に「:」に続けて8080のような番号を書く時があります. これは,通常のポートが80のWWWサーバではなくて, ある目的で立ち上げられたWWWサーバ(のような)にアクセスする場合です. 歴史的には日本で漢字コードが複数あるために,この漢字コードを 変換する事を目的として作られたWWWサーバに8080や10080のような ポート番号をつけてアクセスしていたものです. 最近では多くのWWWブラウザが漢字コードを自動変換してくれるので, この手のサーバは次に述べるWWWのproxyサーバとして主に使われています.


    4.5.7 proxy

     WWWブラウザでいろいろなホームページをアクセスに行きますが, この項ではいろいろなURLにアクセスすると言い直しておきます. 同一のある組織(またはグループ)の多くのユーザが, 同じURLをアクセスした場合で,そのURLの内容があまり変化しない場合には, そのURLにある同じ内容が複数のユーザのWWWブラウザに返るので, URLのドメインがネットワーク上で遠くの場合には, 無駄なトラフィックが流れている事になります.

     このような無駄をなくすためにproxyサーバと呼ばれるサーバがあります. 「proxy」とは「にせの」という意味があり,ユーザから見た時には, あたかも本当のサーバのように見えるサーバの事です. インターネット技術では, 今までにもproxy arpのようにproxyの名前は使われて来ました. 厳密に言うとWWWサーバのproxyサーバと言うべきかもしれません.

     ユーザはWWWブラウザのproxyの設定で,proxyサーバを指定する事によって, 直接,URLで記述されたWWWサーバにアクセスするのではなくて, proxyサーバを経由する事で,効率良くホームページ等を見る事ができます. 大阪市大でも,このようなproxyサーバを運用しています. また,学内のユーザにもできるだけ,この サービス を受けて下さいと勧めています. 個人接続のプロバイダに接続されている方にも, そのプロバイダで運用するproxyサーバを 出来るだけ(絶対)利用して下さいと利用の手引に書いてあるはずです.

     proxyサーバの仕組みは,そのサーバでの設定によっても違いますが, 基本的には,

    となります.インターネット・カフェ(インターネット居酒屋もあるそうですね) 等では,ハードディスクの容量の大きなproxyサーバを用意して, 普通の客が良く見そうなURLをあらかじめ貯めておき, 出来るだけ早く見せる努力をしています. 普通でない客はわざとあまり見に行かないホームページを調べるようで (例えば自分のホームページ),その場合はそれなりの時間が掛かります.

     大阪市大のproxyサーバの場合には学内で現在, 3台のコンピュータでサーバ機能を行っており, 更には大阪地域大学間ネットワーク(ORIONS)という学術プロバイダ内でも, サーバ間の情報共有をはかっています. この仕組みも,先程の学内のサービスの説明の中に 書いてあります

     最近のNetscape Navigator等のWWWブラウザでは,このproxyサーバの設定でも, 単にサーバを指定するのではなく,「自動でプロクシを設定」の項にあるように, その組織のネットワーク構成にあった適当なファイルを読み込むようになっています. これは,その組織のproxyサーバが1台でなかったり, またURLによって複数のproxyサーバの中から適切なものを 選択できるようになっています.


    4.5.8 CGI,Java

     先程までは,WWWブラウザからURLを出して,それに対応したWWWサーバが 指定されたホームページ等の内容をWWWブラウザに返すと言いました. 普通に文章や絵などを送って貰う場合にはこの表現で構いません. proxyサーバは,その内容の伝送の効率的な実現に過ぎません.

     しかし,訪れた人の数が表示される(カウンタ)ようなホームページでは, 毎回違う内容が送られてくる事になります. これは,

    と呼ばれる機能を使っています.ここではCGIの話をします.

     まずは,先程のカウンタのCGIを例に取って話をします. カウンタを持つホームページがるWWWサーバでは,カウンタの値を更新する CGIプログラムを持っています. ユーザがWWWブラウザからそのホームページをアクセスすると, そのホームページは 実際にはWWWサーバが処理してホームページの内容をユーザに返すのですが, CGIが記述してあると,そのCGIプログラムを起動させて, その結果をつけてユーザに返します. カウンタがあるホームページでは,WWWサーバの中にそのホームページのための 訪問者の数を入れておくファイルがあるので, その数に1足して(1を足しているはずです!)ファイルの中の数を更新した上で, その値をつけて返します. (図で説明した方が良いのですが時間がありません.ちょっと待って)

     CGIは実際にはプログラムなので,幾つかの記述方法があります. WWWサーバがUNIX系の場合には,C shell programmingを使ったり, PERLと呼ばれる言語を使ったりします. このCGIを使うと,今まで単に見せるだけだったホームページが ユーザからの入力を受け付けて適当に処理してくれたり, 刻々変わる情報を表示してくれたり, それこそ大概の事をやってくれます. 大きなシステムを組む場合には,7章の情報システム構築で話すように, バックエンドのデータベース・サーバに問い合わせるような事もします.

     CGIはこのように多くの機能をWWWシステムに持ち込みますが, そのWWWサーバをあまり信用出来ない人が使う場合にはいくつかの問題が生じます. 信用できないと言う意味は故意にシステムのセキュリティ等を乱す人だけではなくて, CGIプログラムを間違ったがために,大事な情報が外に洩れるような事を言います. このあたりの話しは次回のセキュリティの所で話せたらと思います.


    4.5.9 WWWの新しい展開

     すいません.この項は11月講義では間に合いません.


    4.6 オーディオ・ビデオツール

    4.6.1 マルチメディアとインターネット

     マルチメディアに対する定義はいろいろあるようですが, ここはインターネット概説ですので,単純に

    と考える事にします. テキストをマルチメディアに入れるのはおかしいと考えられるかもしれませんが, ここで言うテキストとは字の大きさや字体や色等の特性を持つもの (rich textとかいいます)までを含んで考えます.

     このようなマルチメディアの扱いについては 4.2.7項で電子メールに対する MIME表現として話をしました. ここでは,音や画像とネットワークの速度という事で少し話をします.

     4.5.5のWWWシステムの仕組みの表で,音や画像についてWWWブラウザは 幾つかの形式のファイルを扱う事を話しました. この音や画像に対するそれぞれのデータの形式はWWWシステムが扱うのだけではなくて, 音や画像(静止画と動画)のデータ形式の標準(いくつかありますが)と 考えて貰えばいいと思います. 逆にいえばそのように幾つかの標準形で落ち着いたので, ユーザからはそれらの標準形式間の変換だけを考えれば良く, システムからはそれらの標準形式だけを扱えばいいことになります.

     いつものように,話が横に行きましたがもとに戻しましょう. 音の場合は,電話を考えると新しい電話であるISDN電話を使って説明します. ISDN電話はデジタル電話ですが,スピードは1回線あたり64Kbpsです. これは1秒間に64Kbitのデータが飛ぶ事で,バイトに換算すると1秒に8KBです. この伝送スピードでは人の声程度でしたら,それほど変わらずに伝送できます. そうすると,人の声をデジタルで録音してファイルに保存する事を考えると, 1分間喋られると8KBx60=480KBのファイルになる事になります. 3分間カラオケ1曲歌われるとフロッピー1枚必要と言う事になるのでしょうか. 音に関してだけでもたくさん話す事はあるのですが, ここでは音の伝送に人の声程度なら64Kbpsは必要とだけ覚えて下さい. それより早くなれば良い音楽の伝送に使え,遅くなれば音質が悪くなったり, 聞き取りにくくなります.

     次に画像はどうでしょうか.まずは静止画を考えています. 静止画といってもデジタルで表した場合には画素をどのように取るか, 各画素の中で色を何色にするかでデータ量は大きく変わってきます. 更にそのような各画素のデータを どのような表現でデジタル化するかによっても変わります. また静止画の場合には,横や縦に同じ色が続くと言う事も多いので, いろいろな圧縮技術でもデータ量は変化します.

     静止画の伝送を考えた場合には,上で述べたデータ量で静止画のファイルと しての大きさが分かるので,それを今考えているネットワーク上で, 何秒で送れるかの話しになります. ホームページ的には私自身は20KBから30KB程度の画像で止めようと思っていますが, このような大きさの画像でも, ISDN電話を使った場合には2秒から4秒ぐらい掛かります. これが200KBの画像で,普通のアナログ電話で,モデムもスピードが遅ければ 秒1KBだと3分20秒かかったりします.

     最後に動画ですが,この動画の標準形式の1つにMPEGと呼ばれるものがあります. 動画はテレビを考えて貰えば理解が早いでしょう. テレビは細かい話を省くと1秒間に30枚の画像が連続して表示されます. 人間は1秒間に5〜6枚の連続画像を見せられると,その画像がゆっくり変化すれば, 動いていると感じるそうです.したがって1秒間に30枚は十分な数です. 先程は静止画の話をしましたが,その静止画が1秒間に30枚の割で出ますから, 1秒間の動画なら静止画の大きさx30というとても大きなデータ量になることが 容易に推測出来ると思います.

     この動画の標準形式としてMPEG-IとかMPEG-IIがあります. MPEG-IはビデオCDの画像やPerfectTVの画像で, MPEG-IIはDVDの画像と思って貰えばいいでしょう. アバウトに言うと,MPEG-Iはビデオの取られたテレビの画像, MPEG-IIは綺麗なテレビの画像に近いと思って下さい. で,この伝送スピードは

    が必要であると覚えて下さい.

     まとめると以下のようになります.

     もちろん上を見ればきりがないわけで,音ならCDなみの質を要求されたり, 静止画なら高級美術品の質を要求されたり, 動画ならハイビジョン並のものを要求される事もある事だけは忘れないで下さい.


    4.6.2 Mbone


    4.6.3 オーディオ・ビデオツール


    4.6.4 オーディオ・ビデオツールの応用


    目次に戻る