インターネットのアプリケーション

インターネットのアプリケーション
情報ネットワーク
後藤(2)
教科書:
第8章 アプリケーション プロトコル
pp.283--321
1
言葉の説明「プロトコル」
• アプリケーション application という言葉
同窓会の出欠をメールで返事した
ネット通販で書籍を注文した
サークルの写真をサーバにuploadした
• アプリケーション プロトコルという言葉
電子メール(E-mail)教科書 8.4,
smtp:25, pop3:110, imap:143
WWW (World Wide Web) 教科書 8.5, http:80, https:443
ファイル転送(FTP) 教科書 8.3, ftp-data: 20, ftp:21
対応するポート番号に注目 教科書 pp.227--2282
OSI参照モデルと
アプリケーション(プロトコル)
第7層 アプリケーション層
第6層 プレゼンテーション層
第5層 セッション層
第4層 トランスポート層
第3層 ネットワーク層
第2層 データリンク層
第1層 物理層
アプリケーション
ソフトウェアは第5層
から第7層に相当す
る機能を持つ
(注意)OSI参照モデルは、
元来はOSIプロトコルを整理
するための枠組として提案
された。TCP/IPとは完全に
は一致しない。
3
ポート番号に注目するべき
• ポート番号はTCPヘッダ、UDPヘッダに含まれ
る情報(教科書 p.227およびp.228に一覧)
• サーバ側はアプリケーションごとに標準で定
められたポート番号(well-knownという)を使
用する
• クライアント側はダイナミックに割当てられる
ポート番号を使用する(ephemeralという)
これが本日の授業で一番大切な内容です
4
8.2 遠隔ログイン
• TELNET, port 23
クライアント側のホストが仮想端末になる
virtual terminal, virtual 仮想は架空ではない
virtual は事実上の、実質の、という意味
• TELNETのオプション(p.286)は後日の授業
• ssh, port:22
TELNETはセキュリティの観点で問題
teraterm, puttyなどのソフトウェアがある
5
8.3 ファイル転送
• FTPは2つのTCPコネクションを利用する
ポート番号が2つある
制御用, port 21
データ転送用, port 20
※ 実際には port 20 ではないポート番号を
使うことが多い(→ 情報理工学実験C)
• ファイルの種類:バイナリ(bin)、ASCII
テキスト(ascii)の場合に改行コードを自動変換
6
(FTPの補足説明) 改行コード
• CR (carriage return) 0x0D
LF (line feed) 0x0A
• LFのみ UNIX, Linux, MAC OS X など
CR+LF Windows, MS-DOS
CRのみ Apple II, MAC OS 9まで
• インターネットの多くのプロトコルではCR+LFを
使用しているが、実際のソフトウェアはLFにも
友人からもらったファイル(メール)に余
対応している
分な空行が含まれている時には、この
可能性を考慮してみる
7
Dear TEIN Partners
We are pleased to inform that UbuntuNet
Alliance will be hosting its annual conference –
UbuntuNet-Connect 2014 on 13-14 November
at Lusaka, Zambia. More information can be
found at: http://www.ubuntunet.net/uc2014
Kindly also assist to disseminate this
information to your members who may be
interested.
Thank you very much!
Best regards
Molly
On behalf of TEIN*CC
Dear TEIN Partners
We are pleased to inform that UbuntuNet
Alliance will be hosting its annual conference –
UbuntuNet-Connect 2014 on 13-14 November
at Lusaka, Zambia. More information can be
found at: http://www.ubuntunet.net/uc2014
Kindly also assist to disseminate this
information to your members who may be
interested.
Thank you very much!
例題:
左右のメッセージの内容は同一で
あるが改行の表示が異なる
Best regards
8
Molly
8.4 電子メール
• SMTP (Simple Mail Transfer Protocol), port 25
ただし昨今のスパムメール対策として 25番を
ブロックしている ISP がある, OP25B, p.298
• POP (Post Office Protocol), port 110
受信のためのプロトコル
• IMAP (Internet Message Access Protocol), 143
受信のためのプロトコル、多彩な機能
日本語化された最初のプロトコル
by Mark Crispin
9
電子メールの通信経路
メールサーバ
メールサーバ
SMTP
転送
SMTP
送信者
送信
受信
POP, IMAP
受信者
利用者が直接に交信する訳ではない
10
8.5 WWW, World Wide Web
• プロトコル http: 80, https: 443
• URI (Uniform Resource Identifier)
リソース(資源)という用語
良く使われる URL (… Locator)よりも URIは広い
例題(教科書 p.303)
http://www.waseda.ac.jp
• 記述言語
HTML (Hyper Text Markup Language)
マークアップという考え方 参考:SGML
具体的にはタグ
Standard Generalized…
11
HTTPのコマンドと応答
• HTTPのコマンド
OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE
• 応答メッセージは先頭の数字で分類される
(詳細は教科書のpp.307—308)
100 情報の提供
200 肯定的な応答(つまり成功)
300 転送要求(リダイレクト)
400 クライアントからの要求内容のエラー
500 サーバー側のエラー
12
WWW: 動的なページ、情報の継続
• JavaScript クライアント サイド アプリケーション
Webブラウザ上で(利用者側で)動くプログラム
• CGI (Common Gateway Interface) サーバー側で外
部プログラムを呼び出す仕組み
CGIを記述するプログラミング言語の例:
Perl, PHP, Ruby, Python, C, C++ など
• クッキー Cookie
サーバーが、クライアント側に情報を格納して、
後に確認する仕組み
http はTCPの通信であり、一回ごとに異なる通信の
単位となる。Cookieを使うと同一の利用者かどうか
が分かる。
13
ポート番号は誰が決める
• ポート番号はプロトコルの一部である
• プロトコルは誰が決める(教科書 1.4, pp.18—19)
IETF (Internet Engineering Task Force)
デファクト標準 de facto 末尾に”o”が付きます
• 情報通信の標準化は、IETFだけではない
ITU-T 国際電気通信連合
デジュール標準、デジュレ標準 de jure
※ ラテン語には標準的な発音がない
14