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

1

3.1 電子メール

2電子メールが届くまで送信者のプロバイダの送信用メールサーバ①

宛先メールアドレスドメ
インの受信メールサーバ

③

⑤

②
④

送信者のパソコン

DNSサーバ

受信者のパソコン① 送信者は加入しているプロバイダの送信メールサーバにメールを送る（SMTP）② 送信メールサーバは宛先メールアドレスのドメインを担当するメールサーバをDNSで見出す③ 送信メールサーバは宛先メールアドレスの受信メールサーバにメールを転送（SMTP）④ 受信メールサーバは受信したメールをディスクに格納⑤ 受信者が受信メールサーバに接続して届いたメールを読み出す（POPまたはIMAP）
3

Mr. Daniel Dumkopf
18 Willow Lane
White Plains, NY 10604

United Gizmo
180 Main St
Boston, MA 02120
Sept. 1, 2002

エンベロープ

37¢

Name: Mr. Daniel Dumkopf
Street: 18 Willow Lane
City: White Plains
State: NY
Zip code: 10604
Priority: Urgent
Encryption: None

ヘッダ

ヘッダ、本文、エンベロープ

From: United Gizmo
Address: 180 Main St
Location: Boston, MA 02120
Date: Sept. 1, 2002
Subject: invoice 1081

エンベロープDear Mr. Dumkopf,
Our computer records
show that you still havenot paid the above invoiceof $0.00. Please send us acheck for $0.00 promptly.
Yours truly
United Gizmo(a)本文

Subject: invoice 1081
Dear Mr. Dumkopf,
Our computer records
show that you still havenot paid the above invoiceof $0.00. Please send us acheck for $0.00 promptly.

メッセージ

Yours truly
United Gizmo(b)4各ヘッダの意味
ヘッダ

意味

From:

送信元

To:

主たる宛先

Cc:

「カーボンコピー」の宛先

Bcc:「ブラインド・カーボン・コピー」の宛先

Date:

送信日時

Subject:

題名

Sender:

実際の送信者

Reply-To:

返信先

Message-Id:

メッセージ識別子

In-Reply-To: 返信のもととなったメッセージの識別子
Received:

メールの転送履歴5

SMTP, POPプロトコル• クライアントからサーバに1行コマンドを送信するとサーバからクライアントに1行以上の応答が返ってくる• 返答の先頭にステータスコード• 複数行からなるデータを送るときにはピリオドだけからなる行で終わりを表す
6

25番ポートにコネクションを設定
220 aida.k.u-tokyo.ac.jp ESMTP Sendmail 8.11.6/8.11.6; Wed, 14 Jul
2004 22:15:20 +0900
HELO uso800.aida.k.u-tokyo.ac.jp
250 aida.k.u-tokyo.ac.jp Hello sail-450.sail.t.u-tokyo.ac.jp[172.20.1.1], pleased to meet you
250 2.1.0 aida@k.u-tokyo.ac.jp... Sender ok
RCPT To: aida@yyy.zzz.net
250 2.1.5 aida@yyy.zzz.net... Recipient okDATA
354 Enter mail, end with "." on a line by itself

サーバ

クライアントMAIL From: aida@k.u-tokyo.ac.jp

From: aida@k.u-tokyo.ac.jp
To: aida@yyy.zzz.net
Subject: test
←ヘッダと本文の間は空行で区切る
Hello, how are you?
.

←ピリオドだけからなる行

250 2.0.0 i6EDFkf17350 Message accepted for delivery
QUIT
221 2.0.0 aida.k.u-tokyo.ac.jp closing connection
コネクションを切断
7

110番ポートにコネクションを設定+OK <7330.1089811212@popichi06e>
USER aida+OK+OK
1 7571
2 49793 101424 62495 6264
6 7121
7 81758 11470
9 717310 10422
11 5213
12 5514
13 5883
14 6268
15 5613
16 3181
17 1037.

サーバ

クライアントPASS aida1104+OKLIST←ピリオドだけからなる行
8

RETR 17

Hello, how are you?
.

サーバ

クライアント+OK 1037 octets
Return-Path: <aida@k.u-tokyo.ac.jp>
Delivered-To: aida@yyy.zzz.net
Received: (qmail 15008 invoked from network); 14 Jul 2004 22:17:03+0900
Received: from unknown (HELO ns.zzz.net) (192.168.1.136)
by drpichi01e with SMTP; 14 Jul 2004 22:17:03 +0900
Received: (qmail 7939 invoked from network); 14 Jul 2004 22:17:03 +0900
Received: from unknown (HELO aida.k.u-tokyo.ac.jp) (157.82.246.115)
by mtiichi06e with SMTP; 14 Jul 2004 22:17:03 +0900
Received: from aida.k.u-tokyo.ac.jp (localhost [127.0.0.1])
by aida.k.u-tokyo.ac.jp (8.11.6/8.11.6) with ESMTP idi6EDGiB17357
for <aida@yyy.zzz.net>; Wed, 14 Jul 2004 22:16:44 +0900
Received: from uso800.aida.k.u-tokyo.ac.jp (sail-450.sail.t.utokyo.ac.jp [172.20.1.1])
by aida.k.u-tokyo.ac.jp (8.11.6/8.11.6) with SMTP idi6EDFkf17350
for aida@yyy.zzz.net; Wed, 14 Jul 2004 22:16:02 +0900
Date: Wed, 14 Jul 2004 22:16:02 +0900
Message-Id: <200407141316.i6EDFkf17350@aida.k.u-tokyo.ac.jp>
From: aida@k.u-tokyo.ac.jp
To: aida@yyy.zzz.net
Subject: test

←ヘッダと本文の区切り←ピリオドだけからなる行

QUIT+OK
コネクションを切断
9注意すべき点• パスワード・本文はそのまま送られる– APOP– POP over SSL• MAIL FROM・メッセージヘッダのFromは本人確認されているわけではない– POP before SMTP
– SMTP AUTH
– PGP, S/MIME
10

3.2 マルチメディアデータ形式

11

MIME (Multipurpose Internet MailExtensions)• ASCII文字以外のデータを送るための仕様– ヘッダ中の非ASCII文字– 本文中の非ASCII文字（Transfer-Encoding）– テキスト以外のデータ（Content-Type）– 複数部分からなる本文（添付ファイル等）

12

Content-Typeの例• text/plain• text/enriched• image/gif• image/jpeg• audio/basic• video/mpeg• application/octet-stream• application/postscript• multipart/mixed• multipart/alternative13

デジタル化• 標本化（サンプリング）– 最高周波数の2倍以上高い周波数で標本化すれば情報は失われない（ナイキストの原理）• 量子化– 必ず情報が失われる

14

（圧縮）符号化• 変換– 偏りを大きくする• （再量子化）• エントロピー符号化• 可逆 (lossless): 数分の1程度• 不可逆 (lossy): 数十分の1以下のものも15

オーディオ• CELP: 音質あまり良くない→携帯電話• MP3: 人間の聴覚特性を利用した圧縮
80
可聴閾値

60

音圧 (dB)

音圧 (dB)

80

40
20
0

マスクされる信号

可聴f
閾値

60

150Hzの信号がマスク

40
200.02.05.1.2.5

12

周波数 (kHz)
(a)

5

10

20.02.05.1.2.5

1

2

510

周波数 (kHz)
(b)
1620

静止画像
• BMP
• GIF
• PNG
• JPEG• JPEG-2000

17

JPEG
– Y=0.30R+0.59G+0.11B– I=0.60R-0.28G-0.32B, Q=0.21R-0.52G+0.31B– 8×8画素のブロックごとにDCT変換
YxIx/2y/2

yyy/2

RGBx24-Bit pixel

8-Bit pixel
1 Block = 8 pixel x 8 pixel

Q18

DCT (Discrete CosineTransformation) 係数の符号化
量子化テーブル

DCT係数

量子化された係数

150 80 40

14421011248 16 32 64

150 80 204100092 75 36

10610011248 16 32 64

92 75 18

3100052 38 26

8740022248 16 32 64

26 19 132100012864210044448 16 32 64

322100004320000088888 16 32 64

100000002211000016 16

16 16 16 16 32 640000000011000000

32 32

32 32 32 32 32 640000000000000000

64 64

64 64 64 64 64 640000000019

グラフィックス• Postscript• PDF• Macromedia Flash

20

動画像
• Motion JPEG
• MPEG-1• MPEG-2• H.26421

動き補償• 16×16画素のマクロブロックごとに参照フレーム内で最も似ている位置（画素または半画素単位）を探し、その変位（動きベクトル）と差分画像を符号化

22ピクチャ形式• Iピクチャ– 全てのブロックをJPEGと同じ方式で符号化• Pピクチャ– 直前のIまたはPピクチャから予測符号化• Bピクチャ– 直前のIまたはPピクチャと直後のIまたはPピクチャの両方から予測符号化
23

GOP (Group of Pictures)• 定期的にIピクチャを挿入することで伝送誤りや頭出し等に対処• IBBPBBPBBPBBPBB• IBBPBBPBBPBBPBBP• IPPPPPPPPPPPPPP

24

コンテンツ配信• ダウンロード• ストリーミング• QuickTime• Real• Windows Media

25