情報システム概論 I システム情報工学研究科CS専攻、電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/compsys1-2006/2007-02-05
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
電子メールでもWWWでも、TCP/IPという仕組みを用いて通信を行っている。 この節では、TCP/IP の仕組みについて簡単に説明する。 大事な考え方には、次のようなものがある。
データグラムに分割することで、次のような利点がある。
ルータによるデータグラムの転送
ルータは、IPアドレスを見て、データグラムの送り先を判断する。
郵便局で、住所を見て、送り先を判断するのと似ている。郵便局は、一番末端 のもの(ポストから集配したり家に配ったりする)ではなくて、中間的な集配を する郵便局がある。
同様に、ルータも、自分自信は、最終到達地点のコンピュータを知らなくても、 別のルータに送るだけのようなものもある。
ルータは、隣のルータや回線が故障した時には迂回路を探す。 迂回絽がなければ通信は途絶する。
ルータとルータは、どの回線やルータが生きているか、通信速度はどうなって いるか等の情報を交換し会う。これらの情報を元に、各ルータは、受け取った データグラムを次の最適の経路/ルータに送る。
「ストリーム」という言葉は、コンピュータでは様々な意味に使われる。
TCPが提供するストリームの性質。
TCPで通信をする時に、通信相手を識別するにはIPアドレスと ポート番号(port number) が使われる。ポート番号は、16ビットの整数で、よく使われる アプリケーション ( サービス ) には、あらかじめどの番号を使うかが決めらている。これを well-knownポート番号(well-known port number) という。
TCP層の上には、 応用層 が定義されている。この層では、電子メールの転送、ファイル転送、遠隔ログ イン、WWW、といった TCP/IP を利用するプログラムの間の通信方法が定義さ れている。
TCP/IPを使った通信は、まるでコンピュータ同士(プログラム同士)が電話で 会話するように進められる。
ポート番号 | プロトコルの名前 | 目的 |
---|---|---|
21 | FTP(File Transfer Protocol) | ファイル転送 |
22 | ssh | 遠隔ログイン(ssh) |
23 | Telnet | 遠隔ログイン(telnet) |
25 | SMTP(Simple Mail Transfer Protocol) | 電子メールの転送 |
79 | finger | fingerコマンド |
80 | HTTP(HyperText Transfer Protocol) | WWWのデータ転送 |
110 | POP(Post Office Protocol Version 3) | 電子メールの受信 |
119 | NNTP(Network News Transfer Protocol) | ネットワーク・ニュースの記事の転送 |
143 | IMAP(Internet Mail Access Protocol) | 電子メールの受信・保管 |
513 | login | 遠隔ログイン(rlogin) |
IP の視点からは、LAN や アクセスライン も物理層と見なす。OSI 7層モデルでは違う。
ダイアルアップなどを使った通信では、 PPP(Point to Point Protocol)とい うプロトコルの上に、IPデータグラムが転送される。
イーサネット
オペレーティング・システムのカーネルは、デバイス・ドライバを通じてネッ トワーク通信を行うハードウェア(ネットワーク・インタフェース・カード) を操作して通信メッセージを送受信する。
インターネットで使われている名前サービス。 基本的には、ホストの名前を IP アドレスに変換する。
DNS では、膨大な数のホスト名を含む名前空間を階層的にドメイン(領域)に 分割して管理している。この空間の構造は、木構造とも呼ばれる。
DNS(Domain Name System)のドメインとは、
膨大な数のコンピュータの名前を含む名前空間を階層的にドメイン
(領域)に分割していることを意味する。
図3 名前空間のドメインへの分割 図4 名前空間の木構造としての見方
host1.is.u-ust.ac.jpこのように、インターネットでのコンピュータの名前は、「
.
」
で区切られた文字列(文字の並び)である。この文字列で使える文字は、アル
ファベット(大文字も小文字も同じだが普通は小文字だけが使われる)と数字、
ハイフン(マイナス)である。
コンピュータのディレクトリ(フォルダ)は、全体では 木構造(tree structure) になっている。階層化ディレクトリ(hierarchical directory)と呼ばれるこ ともある。
http://www.tsukuba.ac.jp/education/college.html
http
www.tsukuba.ac.jp
/education/college.html
.html
は、その資源がHTML で書かれている事を表わしている。
インターネットで通信をプログラムを利用する時、 「クライアント」と「サーバ」という分けて考えることが多い。
例:
コンピュータが1台しかない場合、プログラムは1つでよい。通信をする場合 には、プログラム(コンピュータ)が2つになる。そのうちの1つのプログラ ム(またはコンピュータ)を、「クライアント」、もう1つを「サーバ」とい う。
図? サービスの授受によるクライアントとサーバの定義
図? 複数のクライアントによるサーバの共有
図? 通信のパタンからみたクライアントとサーバの定義
この時使われる通信プロトコルをHTTP ( Hyper Text Transfer Protocol ) という。
WWW サーバには何種類もある。 情報学類で使っている WWWサーバのプログラムの名前は、Apache 。
図? Firefox と Apache の通信
coins では、www.coins.tsukuba.ac.jp (orchid-nwd.coins.tsukuba.ac.jp) と いうコンピュータでApache が動作している。 ssh で遠隔ログインして、設定やログを見ることができる。
http://www.domain/dir1/file1.htmlクライアントは、URL のうちのホスト部分を抜きだし、これと標準の 80ポート番号(80)を使って、TCP/IP のコネクションを張る。
クライアントは、HTTP で次のような要求を送る。
GET /dir1/file1.html HTTP/1.0(![]()
![]()
/usr/local/apache/htdocs/
coins では、/var/www/htdocs/
。
上の GET 要求に相当するファイルは、次のファイルになる。
/usr/local/apache/htdocs/dir1/file1.html /var/www/htdocs/dir1/file1.html (coinsの場合)
HTTP/1.1 200 OK Date: Thu, 01 Feb 2007 17:00:35 GMT Server: Apache/2.0.55 (Unix) PHP/4.4.2 Accept-Ranges: bytes Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>情報学群 情報科学類・情報学類</title> <META http-equiv="Content-Style-Type" content="text/css"> <META name="情報学群,情報学類,情報科学類,情報学,情報工学,情報科学"> <link href="./99_main.css" rel="stylesheet" type="text/css"> <link href="./99_top.css" rel="stylesheet" type="text/css"> </head> <body> <div id="wrapper-top"> <!-- header start --> <div id="header"> <div id="header-left"> <a href="index.html">Home</a> <a href="./99_internus.html"><span class="door">学内向け情報</span></a> </div> <div id="header-right"> <a href="./00_english.html">English</a> </div> </div> ... </body> </html>
200
は、エラーがなく成功したという意味。
アクセスされた日付、データの日付、データの型と長さが現れる。
Content-Type:
が text/html
ならば、
HTML で書かれたページの意味。
インラインイメージなら、
なら image/gif
や image/jpeg
になる。
このような情報は、情報そのものではなくて、情報に関する情報という意味で メタ情報(メタデータ)という。
空行の後に、実際のデータが続く。
例:ブラウザは、テキストしか受け付けない。
GET /dir1/file1.html HTTP/1.0例:日本語と英語が受け入れ可能であるAccept: text/*
![]()
GET /dir1/file1.html HTTP/1.0例:ブラウザの種類は、FireFoxAccept-Language: Japanese, en
![]()
GET /dir1/file1.html HTTP/1.0User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; ja-JP-mac; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
![]()
図? 電子メールの配送