ホームページ作成講座 1999.5.12


ホームページ作成講座 資料


1999.5.12
縄手
 


1. はじめに

1.1 目的



1.2 予定

第一回

第二回

第三回

第四回

第五回
2. UNIXの歴史

1960年代後半、MITにおけるMULTICSプロジェクト
MULIiplexed Information and Computing System(複合情報計算システム)

メインフレームを人間が使い易くするインターフェイスの開発

→とん挫、消滅

AT&T Bell研究所のKen TompsonとDennis RitchieがMULTICSプロジェクトに参加。その思想に感銘し、手元の小形コンピュータDEC PDP-7用のOS(カーネル)を開発(1969)し、UNICSと命名

UNiplexed Information and Computing System

後にUNIXとなる
(1971年のPDP-11から正式発足)

1873年、C言語で記述
高い拡張性により種々のプラットホームへ移植が可能となる
Algol60→CPL→BCPL→B→C
68000マイクロプロセッサ上で主として開発される

PDP-11は16bitの論理アドレスしか持たなかったので、カーネル、プログラムともに小さく、しかも複雑な処理を小さなプログラムの組み合わせで行うUNIXの基本が確立


AT&TとBSDで平行開発
Berkeley Software Distribution (University of California, Berkeley)

1983年にはSystemVと4.2BSD

この頃、ビットマップディスプレイやウィンドウシステムが出始めるがUNIXはコマンドから1ステップずつ処理する形態が得意だったので取り入れることができなかった


カーネルとは別にウィンドウシステムが発展
多様なLook & Feelを実現

AT&TがUNIXのライセンスを厳格に適用し始める(現在はX/Openの登録商標)

SystemV Release4 (SVR4)と4.4BSD Liteに分離
前者:Solaris、Openstep(NEXTSTEP)
後者:FreeBSD、NetBSD
BSD系列は幅広いプラットホームで動作
PC/AT互換機、PC98、Macintosh、DEC Alpha、Sun Sparc

UNIXの特徴


マルチプロセス
複数の処理を平行して実行(細かい時分割により実現)

プロセスどうしのメモリ管理が独立しているので、一つのプロセスが暴走しても他のプロセスには影響しない。(プリエンプティブマルチタスク)


マルチユーザ
複数のユーザが同時に利用可能
それを実現するためにログイン認証の概念がある
端末上で仮想コンソールを利用
ネットワーク上の他のホストから利用

仮想記憶

主記憶装置(RAM)のメモリが足らなくなった時にハードディスクを一時的に利用して実メモリ以上の処理を行う方法


ネットワーク透過
実際にその端末の前で操作しなくても他のホストから同様の快適さで利用できる


3. Linux概略

1990年頃、オランダのAndrew S. Tanenbaumが開発したMINIXが教育用に広く利用されていた。
インテルの80286で動作、教育用なので拡張性なし

1991年、当時Helsinki大学の学生であったLinus Torvaldsが80386に対応して実用性の高いシステム(UNIX互換)を一から開発

Tanenbaumとの間で激しい論争が起こるが、世界中のハッカーがLinusの考えを支持し、ボランティアで開発に参加、各種のプラットホームで稼動するようになる
Intel、SPARC、Alpha、PowerPC、m68k

Linusに因んでLinuxと名付けられる

厳密にはLinuxとはカーネルのみを指すが、現在、カーネルに各種のコマンドを組み合わせたシステム全体をLinuxと呼ぶことが多い。それらのコマンドもGNUで開発されたものであり、全くのフリーなシステムであることが特徴

GNU=GNU is Not Unix

ディストリビューションと呼ばれるバイナリのインストーラが発達し、商業ベースに乗ったことから扱い易く高性能なシステムとして脚光を浴びている

Slackware -- Plamo Linux
Red Hat -- TurboLinux, MkLinux, Vine Linux
Debian GNU/Linux
(Debra & Ian Murdock)

今回使用するサーバ

5/12現在はMkLInux、近々TurboLinuxに変更予定
教室の端末はDebian GNU/Linux

なぜLinuxか?


4. TCP/IPとネットワーク

Transmission Control Protocol/Internet Protocol
実際は、IPをベースとしたプロトコル群の総称

4.1 概略



送受信するデータは各層ごとにヘッダをふかしたものがやり取りされる



4.2 ネットワークアクセス層(データリンク層)

物理的な接続方法の規約


Ether:1 [U] 【化】 エーテル (有機化合物; 麻酔剤).
   2
[the 〜] (詩・文語) 天空, 青空.
    &ギリシャ語「天空上層の空気」の意; 《形》 ethereal'

Ethernet
10Base5・・イエローケーブル(同軸ケーブル)
取り回しが厄介

10Base2・・同軸ケーブル(最大延長185m)
ディジーチェーン方式なので一つの端末を入れ替えるにも、すべてのネットワークを停止する必要がある




10Base-T・・より対線(Twisted Pairケーブル)
端子はRJ-45、HUBによるスター接続(最大延長100m)
手軽に接続できるので現在の主流(今後は100Base-TX)




ハブはネットワークアクセス層のデータを解析し宛先の端末に向けて中継する。ただし、ハブのすべてのポートに情報を流すため、接続数が多くなると衝突(コリジョン)が多くなり、転送速度の低下が生じる。

スイッチングハブ
個々のポートに接続された機器(ホスト)の物理アドレスを記憶し、必要なポートどうしを中継することにより、不必要なトラフィックをなくし高速なデータ転送を実現する。

MACアドレス

Media Access Control
ネットワークインターフェイスを識別するためのハードウェアアドレス(別名Ethernetアドレス)で、工場出荷時に付加される6バイトの番号
通常は16進数を用いて12桁で表される。重複は許されない。






4.3 インターネット層

ホスト間でパケット交換を行う
IPアドレス(後述)が識別子となる


4.4 トランスポート層

TCP:コネクション型
UDP:データグラム型
UDP: User Datagram Protocol

コネクション型
仮想的な通信路を確保した後データをやり取り
コネクションの開始、終了手続きが必要
データが順序通りに届く

データグラム型
コネクションを張らないアプリケーション層でデータの復元

TCP/UDPともに、ポート間でデータの送受信を行う
端末に各種のポート番号が決めてある

ポートの例
ftp 21
telnet 23
smtp 25
http 80
pop3 110


4.5 アプリケーション層

メール、www、FTP等を使うときに配送を行うプロトコル
それぞれ、SMTP(POP3)、HTTP、FTP


4.6 PPP接続

電話回線を通してサーバに接続しTCP/IPアプリケーションを利用する形式
ネットワークアクセス層に属する


5. IPアドレスとホスト名

5.1 IPアドレス

ホストに対し世界中で一意に決まるアドレス
IPv4 4バイト
IPv6 32バイト(実験段階)

1 Byte = 8 bit
28 = 256
0〜255の数値を4つ、ピリオドを使って並べた表記
(例)111.222.111.222

クラス
最初のビットが0(2進数)のものをクラスA
00000000 ~ 01111111
0~127.○○○○.○○○○.○○○○
^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
ネットワーク部  ホスト部 (28)3 = 1,638,400 個


10(2進数)で始まるものをクラスB
10000000 ~ 10111111
128~191.○○○○.○○○○.○○○○
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
ネットワーク部   ホスト部  (28)2 = 65536 個 (通常の大学)


110(2進数)で始まるものをクラスC
192~233.○○○○.○○○○.○○○○
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^
ネットワーク部         ホスト部 256個 (島根大学)

クラスD、E(省略)

また、ホスト部の0と255はネットワーク自身およびホストすべてをあらわすため使用できない。プライベートアドレス(後述)として以下のアドレスも使用できない

10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255


5.2 ネットワークインターフェイス

IPアドレスはホストに対して与えられるのではなく、実はネットワークインターフェイスに対して与えられる。

一つのホストにEthernetボードが1枚--1対1対応
Ethernetボードは複数枚でも良い
ゲートウェイ、IPマスカレード(後述)

縄手の研究室のネットワーク図(5/12現在)




5.3 ホスト名

IPアドレスに付加されるホスト名--人間にとって理解し易い名前
この場合、ホスト名とIPアドレスは1対1対応

システムに付加されるホスト名
ネットワーク上のホスト名とは無関係


5.4 ドメイン名

FQDN, Fully Qualified Domain Name

192.244.219.82
mag2.riko.shimane-u.ac.jp

jpの acの shimane-uのrikoの mag2 を表す
^^ ^^ ^^^^^^^^^ ^^^^ ^^^^
国 組織の種類 組織の名称 細目 ホスト名

国:jp, uk, au, fr, ...
種類:ac, co, go, ne, or, ...

例外:合衆国の分類
国を表す項目なし、組織の種類はcom, edu, ...


6. ルーティング

複数のネットワークに接続したホストにおいて、一方から他方へとパケットを送る機能

自分のネットワークに属するホストかどうかをIPアドレスのネットワーク部が同じかどうかで確認

192.244.218.1 1号館
192.244.219.1 3号館
ネットワーク部が異なる→別のネットワーク

実際にはネットマスクを用いて判断する
クラスCの場合は255.255.255.0

ネットマスクの目的は正規のネットワーク部の長さを変更するため




実際の効果が出るのは、例えばクラスBのアドレス空間をクラスCで仮想的に区切る場合などで、パケットは同一ネットワークのすべてのホスト宛てに送られるので、ネットワークを小さく区切ると無駄が減る


133.41.4.2
133.41.38.1  の様なクラスBのネットワークでは、本来のネットマスは255.255.0.0であるが、ルータを用いてネットワークを分離し、255.255.255.0のマスクをかけるとパケットの流れる範囲が狭くなり資源の有効活用となる


7. プライベートアドレス

IPアドレスはNIC(国内はJPNIC)が管理しているが、その管轄にないアドレスとして以下のものがある。ローカルに閉じたネットワークであれば自由に利用できる。


クラスA 10.0.0.0 ~ 10.255.255.255
クラスB 172.16.0.0 ~ 172.31.255.255 電子制御の学科LAN
クラスC 192.168.0.0 ~ 192.168.255.255 縄手の研究室のLAN

学科LANにおいては、端末の台数自体はクラスCでもおさまるが、各教官にクラスCを一つ割り振るためにクラスBとしている

IPマスカレード
Masquerade: 見せ掛け、仮面舞踏会

インターフェイスが2つあるホストにおいて、一方のネットワークがプライベートアドレスである場合、プライベート側のホストはそのままではインターネットを利用できない。

上記の複数インターフェイスを持つホストがゲートウェイになりグローバルなアドレスになりすましてパケットの送受信を行う機能をIPマスカレードと言う。

グローバル側から見ると、プライベートのホストは見えなくて、ゲートウェイのマシンからの接続に見える。


8. 各種のネットワークサーバとアプリケーション

8.1 概説

UNIXのネットワーク機能の多くは利用者が端末で使用するクライアントプログラムと、必要な機能を提供する端末上で実行されるサーバプログラムとが協調することにより実現される。

例:FTP
クライアントプログラム ftp、ncftp
サーバプログラム in.ftpd、wu.ftpd

プログラムのコマンドの最後にdがついているものはデーモン(Daemon)プロセス
daemon:1 【ギ神話】 ダイモン (神々と人間の間に介在する二次的な神)

通常は待機していて、呼び出しがあった時にだけ仕事をするプロセス



8.2 ネームサーバ

IPアドレスとホスト名を相互に変換する作業を行う

固定方式

各ホスト上にIPアドレスとホスト名の対応表を用意する方式
小規模の場合は可能
すべてのホストに同じ表が必要

Domain Name Service (DNS)

ホスト名とIPアドレスをネットワーク上のサーバに問い合わせる仕組み

各組織(ドメイン)が自組織を担当するサーバを運用し、他の組織からの問い合わせに答える形式により、管理と負荷を分散する。プログラムはBINDが通常使用される。


電子メールの配信のための情報も管理


今回のホームページを置くサーバの情報(5/12現在)

IP address:192.244.219.82
FQDN: mag2.riko.shimane-u.ac.jp
MX: ecs-s.shimane-u.ac.jp
CNAME: www.ecs-s.shimane-u.ac.jp

実際に利用する際のアドレス
電子メール: hoge@ecs-s.shimane-u.ac.jp
URL: http://www.ecs-s.shimane-u.ac.jp/~hoge
URL: Unified Resource Locator


8.3 メールサーバ

電子メール配信システム
MTA (Mail Transfer Agent)
MUA (Mail User Agent)
MDA (Mail Delivery Agent)

端末上で利用者がメールを送受信する時に用いるアプリケーションプログラムがMUA
MUAはMTAに配送を依頼

SMTPとPOP
MUAからMTAにメールを送る時に利用されるプロトコルがSMTP
Simple Mail Transfer Protocol
依頼があれば認証なしに配送

MTAに届いたメールを自分の端末上で読むために利用するプロトコルはPOP
Post Office Protocol

MXレコード
電子メールのアドレスは本来は
username@FQDNの形式

縄手の仕事用のアカウントの場合
mnawate@ifse1.riko.shimane-u.ac.jp
nawate@ecs.riko.shimane-u.ac.jp

だが、ホスト名(やドメイン名の一部)を省略して簡略化したアドレスが利用可能
mnawate@riko.shimane-u.ac.jp
nawate@ecs.shimane-u.ac.jp

これをジェネリックアドレスと呼ぶ

MTAはジェネリックアドレスにメールを送る場合にホストが特定できないため、ネームサーバにMXレコードと言う対応表を用意して公開し、対応を取る。
MX: Mail eXchanger

SMTPでメール配信するMTAの標準プログラムはsen dmail
POP3でメールをMUAに取り込むプログラムin.pop3d、qpopper



8.4 FTPサーバ
File Transfer Protocol

ファイルを転送する機能を提供するサーバプログラム
FTPは他のプロトコルと異なり、コネクションを張って制御用の信号を送る経路と実際にファイルを転送する経路の二つを使用する。

Anonymous FTP
anonymous: 匿名
サーバにアカウントを持っていないユーザにもサーバからのファイルのダウンロードを許す方式
ログイン時にユーザ名としてanonymous、パスワードに自分のメールアドレスを入力して利用する。セキュリティの面から公共性の高いサーバにのみ用いられる。

代表的なプログラム: wu-ftpd


8.5 Webサーバ

HTTPを利用したHTML書類の転送を行うサーバ
HTTP: Hyper Text Transfer Protocol
HTML: Hyper Text Markup Language

代表的なプログラム:Apache (A PAtCHy sErver)
patchy:1 つぎだらけの; 寄せ集めの.
2
〈霧・雲など〉きれぎれの, とぎれとぎれの.
3
不調和な, むらのある; 所々にいい所があるだけの.

サーバは他ホストからの要求に堪えて自ホスト内のHTMLファイルを送出するだけ。仕事の大部分はアクセス制御やファイル管理

実際にページの表示を行っているのは利用者の端末のブラウザ(Netscape Navigator, Internet Explorer等)


HTML言語はテキストやグラフィックとして描かれている情報を表示する機能しかないため、HTML言語を利用してサーバ上でプログラムを奔らせるためにSSIやCGIを利用する。
SSI:Server Side Include
CGI:Common Gateway Interface

アクセスカウンタやフォームによるアンケートページ、動画、全文検索、データベースとのリンク等を行う。これに関しては、実際のページ作成の基礎が終わった段階で改めて説明。


ホームページ作成講座トップページに戻る

indexページへ戻る