aida lab, school of engineering, the university of …aida/internetengineering.pdf24...

287
1 情報工学概論(インターネット工学) 電子情報工学科 電気系工学専攻 融合情報学コース 相田

Upload: others

Post on 08-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

1

情報工学概論(インターネット工学)

電子情報工学科

電気系工学専攻 融合情報学コース

相田 仁

Page 2: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

2

講義の内容

• インターネットの歴史と現状

• インターネットの通信プロトコル

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

• 情報セキュリティと著作権保護

Page 3: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

3

講義資料等

• 新の講義資料– http://www.aida.t.u-tokyo.ac.jp/~aida/

InternetEngineering.pdf

• ビデオ・過去問– http://ocw.u-

tokyo.ac.jp/lecture?id=11314&r=610944248– http://www.aida.t.u-tokyo.ac.jp/~aida/

JouhouGaironA07.pdf, JouhouGaironA06.pdf

Page 4: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

4

参考書

• タネンバウム著、水野、相田、東野、太田、西垣訳:コンピュータネットワーク第4版、日経BP、2003、ISBN4-8222-2106-7、¥7800+税(原著ISBN0-13-066102-3)

• 小林浩、江崎浩著:インターネット総論、共立出版、2002、ISBN4-320-12039-6、¥3400+税

• 電子情報通信学会知識ベース「知識の森」、http://www.ieice-hbkb.org/portal/

Page 5: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

5

1. インターネットの概要

Page 6: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

6

1.1 インターネットの歴史と現状

Page 7: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

7

インターネットの歴史

• 1969 ARPANET• 1974~1983 TCP/IP• 1987 商用電子メール, 1990 商用ISP• 1991 CIX, 1992 Internet Society• 1993 Mosaic(WWWブラウザ), 1994 W3C• 1998 ICANN• 2011 IPv4アドレスの枯渇

Page 8: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

8

世界のインターネット利用者数

*EstimatesSource:  ITU World Telecommunication /ICT Indicators database

Page 9: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

9Forbes Magazine July 7th, 1997

インターネット

携帯電話

パソコン

テレビ

ラジオ

電子レンジ

ビデオ

飛行機

電話

自動車

電気

普及の速さ

Page 10: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

10

我が国のインターネット利用人口及び人口普及率の推移

Page 11: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

11

属性別インターネット利用率

Page 12: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

12

我が国のインターネットトラヒックの推移(平均)

Page 13: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

13

ブロードバンド契約者の時間帯別ダウンロードトラヒックの推移

Page 14: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

14

インターネット利用端末別の利用人口推移

(出典)総務省「通信利用動向調査」

(年末)

(万人)

Page 15: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

15

パソコンと携帯電話によるインターネットの利用目的

Page 16: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

16

インターネット利用による生活の変化

Page 17: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

17

インターネットが利用できなくなると…

Page 18: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

18

世帯の情報セキュリティ被害状況

Page 19: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

19

企業の情報セキュリティ被害状況

Page 20: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

20

情報通信の「基盤」に関する指標別の偏差値

Page 21: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

21

情報通信の「利活用」に関する分野別の偏差値

Page 22: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

22

公立学校のインターネット整備率/操作・指導可能な教員比率

Page 23: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

23

1.2 インターネットの技術的特徴

Page 24: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

24

パケット交換

• 電話網:回線交換

– 電話局が壊れると通信継続不能

• パケット交換:情報を決められた以下の大きさに分割し、それぞれに宛先をつけて独立に配送

– 情報の一部が失われても後続には影響なし

– 中継局が壊れても迂回して通信継続可能

Page 25: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

25

研究所

IXIX

商用ISP

商用ISP

商用ISP

商用ISP

商用ISP

学術・研究ネットワーク

省庁間ネットワーク 実験ネットワーク

地域ネットワーク

商用ISP

大学

省庁

企業

家庭 企業

企業

家庭

大学研究所

企業

企業

IX: Internet eXchange

ネットワークのネットワーク

Page 26: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

26

(あとから書かれた)

Architectural Principles of the Internet

• the goal is connectivity,• the tool is the Internet Protocol, and• the intelligence is end to end rather than

hidden in the network

Page 27: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

27

1.3 インターネットの運営組織

Page 28: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

28

ISOC (Internet Society)

ISOCインターネット学会

IABアーキテクチャ委員会

IETF技術標準化委員会

IESG運営管理委員会

IRTF次世代技術委員会

IRSG運営管理委員会

ISTF社会政策委員会

ワーキンググループ研究グループ

IAB: Internet Architecture Board

IRTF: Internet Research Task Force

IETF: Internet Engineering Task Force

ISTF: Internet Societal Task Force

IRSG: Internet Research Steering Group

IESG: Internet Engineering Steering Group

Page 29: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

29

RFC (Request for Comments)

NEW IDEA!

インターネットドラフトインターネットドラフト

プロポーズドスタンダードプロポーズドスタンダード

ドラフトスタンダードドラフトスタンダード

スタンダードスタンダード

個人またはWGで提案

IESGで審査し、標準化を決定

RFC番号付与

STD番号付与

広範囲で実装し、運用試験

複数組織で独立に実装・試験6ヶ月後にIESGが審査・承認

Page 30: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

30

ASO<3名>アドレス支持組織

ASO<3名>アドレス支持組織

PSO<3名>プロトコル支持組織

PSO<3名>プロトコル支持組織

DNSO<3名>ドメイン名支持組織

DNSO<3名>ドメイン名支持組織

ARIN(旧InterNIC)

ARIN(旧InterNIC)

RIPE NCCRIPE NCC

APNICAPNIC

At Large<5名>(一般会員)

At Large<5名>(一般会員)

ICANN理事会<19名>

ICANN理事会<19名>

IETFIETF

W3CW3C

ITUITU

ETSIETSI

営利企業営利企業

非営利組織非営利組織

ccTLDレジストリccTLDレジストリ

gTLDレジストリgTLDレジストリ

ISP/通信事業者ISP/通信事業者

レジストラレジストラ

知的所有権関係者知的所有権関係者

社長兼会長社長兼会長

JPNICJPRS

JPNICJPRS

DNSO: Domain Name Supporting OrganizationASO: Address Supporting OrganizationPSO: Protocol Supporting OrganizationccTLD:Country Code Top Level DomaingTLD: Generic Top Level DomainISP: Internet Service ProviderARIN: American Registry of Internet

NumbersRIPE NCC: Reseaux IP European Network

CoordinationAPNIC:Asia Pacific Network Information

CenterJPNIC: Japan Network Information CenterJPRS: Japan Registry Service Co., Ltd.IETF: Internet Engineering Task ForceW3C: World Wide Web ConsortiumITU: International Telecommunication

UnionETSI: European Telecommunications

Standards Institute

ICANN (Internet Corporation for Assigned Names and Numbers)

Page 31: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

31

1.4 情報量を表す単位

Page 32: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

32

情報量を表す単位

• ビット[bit]: 0/1の2進数1桁で表すことのできる情報量(=log2(場合の数))、および実際に0/1で表した桁数

• bps: ビット/秒(=bit per second)• バイト[byte, B]: 英数字1文字を表すことの

できるビット数。現在ではほとんどの場合8ビット(=オクテット[octet])

Page 33: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

33

単位の接頭語(その1)

1024 ヨタ Y 109 ギガ G

1021 ゼタ Z 106 メガ M

1018 エクサ E 103 キロ k

1015 ペタ P 102 ヘクト h

1012 テラ T 101 デカ da

Page 34: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

34

単位の接頭語(その2)

10-1 デシ d 10-12 ピコ p

10-2 センチ c 10-15 フェムト f

10-3 ミリ m 10-18 アト a

10-6 マイクロ μ 10-21 ゼプト z

10-9 ナノ n 10-24 ヨクト y

Page 35: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

35

単位の接頭語(その3)

• コンピュータのメモリ容量を表す時は– 210=1,024 をキロ

– 220=1,048,576 をメガ

– 230=1,073,741,824 をギガ

と呼ぶ習慣があり、ディスク容量などにも用いられてきたが、メモリ容量以外では用いられなくなりつつある

• 103をk、210をKと書き分けることもある

Page 36: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

36

2. インターネットにおける通信

Page 37: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

37

2.1 通信プロトコル

Page 38: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

38

アプリケーションプログラム間でのデータの受け渡し

• 同一コンピュータ上

→メモリ上に置いてポインタを渡す

• 近くにあるコンピュータ間

→ファイルに格納して渡す

• 離れたコンピュータ間

→通信回線を経由して送る

Page 39: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

39

通信回線を経由して送る場合の問題点

• 相手のコンピュータがダウンしている

• 回線上で雑音によりデータが化ける

• 相手のコンピュータが忙しくてデータを取りこぼす

• 送った通りの順序でデータが届かない

• 途中の混雑によりデータが失われる

Page 40: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

40

通信プロトコル

• データを誤りなく(時間内に)届けるために送り手と受け手の間であらかじめ取り決めておく通信の手順

– 誤り制御

– フロー制御

– 順序制御

– 輻輳制御

Page 41: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

41

誤り制御

• 送る情報に冗長性を持たせる

– 誤り訂正ex. 3連送

– 誤り検出→再送ex. パリティ、CRC (Cyclic Redundancy Check)

Page 42: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

42

誤り制御方式の比較

• メタル回線、無線では誤りはバースト的に起こる

→誤り訂正のためには大きな冗長性が必要

→多くの場合は誤り検出/再送の方が適当

Page 43: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

43

誤り制御方式の比較(続き)

• 再送のオーバヘッドがデータを送る手間と比べて大きい場合には誤り訂正の方が良い場合もあるex. 光ファイバ、衛星

→帯域・遅延積(=回線上に乗るビット数)

Page 44: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

44

フロー制御・輻輳制御

• ある程度データを送ったところで、しばらく待つ

→ウィンドウ方式、クレジット方式

• データを送るたびに少しずつ待つ

→レート制御方式

Page 45: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

45

階層プロトコル

• 各種の機能を誤り無く作り上げるのは大変

→モジュール化

Page 46: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

46

cf. パソコンのソフトウェア

オペレーティングシステム

デバイスドライバ

ハードウェア

アプリケーションプログラム• それぞれのソフト

ウェアは直下のモジュールの機能だけを使用

• とくに、ハードウェアの差異はデバイスドライバで吸収し、オペレーティングシステム以上は機種非依存

Page 47: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

47

階層プロトコル

TCP

IP

イーサネット

アプリケーションプロトコル• それぞれの層の

ソフトウェアは直下の層の提供する機能だけを使用

• 上位層は下位層非依存

無線LAN

Page 48: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

48

用語の定義

• エンティティ

→プロトコルを実現するプロセス

• インタフェース

→上下層間の呼び出し手順、パラメータなど

• サービス

→各層の提供する機能

Page 49: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

49

いろいろなサービス

• 単方向/半2重/全2重

• コネクション指向/コネクションレス– コネクション指向:cf. 電話

– コネクションレス:cf. 手紙

• ギャランティード/ベストエフォート

Page 50: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

50

階層プロトコル

• <N>層は、<N−1/N>インタフェースを通じて提供される<N−1>サービスを用いて<N>エンティティ間で<N>プロトコルに基づく通信を行うことにより、<N/N+1>インタフェースを通じてより付加価値の高い<N>サービスを<N+1>層に対して提供する

Page 51: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

51

<N+1>層

<N>層

<N-1>層

コンピュータA コンピュータB

<N>プロトコル

<N/N+1>インタフェース

<N-1/N>インタフェース

<N>エン

ティティ

<N>サービス

<N-1>サービス

Page 52: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

52

アプリケーション層

トランスポート層

ネットワーク層

データリンク層

アプリケーション層

トランスポート層

ネットワーク層

データリンク層

データ

階層プロトコルにおけるデータ伝送

制御

送信元MACアドレス

宛先MACアドレス

送信元IPアドレス

制御情報

宛先IPアドレス

宛先ポート

送信元ポート

制御情報

制御

TCPヘッダ

TCPヘッダ

データ

データ

データ

IPヘッダ

IPヘッダ

データリンクヘッダ

TCPヘッダ

データリンクトレイラ

Page 53: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

53

OSI参照モデル

• ISO(International Standardization Organization: 国際標準化機構)でOSI(Open Systems Interconnection: 開放シス

テム間接続)のためのプロトコルの標準化を行うに当たって、まずプロトコル階層のモデル化を行った

Page 54: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

54

OSI 7層モデル

• アプリケーション層

• プレゼンテーション層

• セッション層

• トランスポート層

• ネットワーク層

• データリンク層

• 物理層

上位3層

下位4層

Page 55: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

55

物理層

• 電気的特性、変調方式、コネクタ形状などex. RS-232C、V.90

Page 56: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

56

データリンク層

• 直接回線で接続されているコンピュータ間で(誤り無く)データを届ける– 媒体アクセス制御(MAC)副層

• 回線が共有されている場合に媒体へのアクセスを調停する

– リンクレベル制御(LLC)副層

• 誤り制御、フロー制御

Page 57: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

57

ネットワーク層

• 宛先コンピュータに至る経路が複数ある場合に適切にデータを送り届ける

– 経路制御

• 経路情報の交換

• 経路選択

– 輻輳制御

Page 58: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

58

トランスポート層

• 送信元コンピュータから宛先コンピュータまでエンド・エンドで正しくデータを送り届ける

– 誤り制御、フロー制御

– 順序制御

– 輻輳制御

Page 59: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

59

セッション層

• セッション管理

• 同期制御

– チェックポインティング

Page 60: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

60

プレゼンテーション層

• 同じ「意味」のデータを届ける

– 文字コード• ASCII/EBCDIC、JIS/Shift JIS/EUC

– データ表現• 1の補数/2の補数、浮動小数点形式

• (暗号化)

Page 61: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

61

アプリケーション層

• 複数のアプリケーションで共通に使うことのできる機能

– ファイル転送

– 仮想端末(画面制御)

– 電子メール、電子掲示板

– 名前サービス、時刻合わせ

– WWW (World Wide Web)– ネットワーク監視・管理

Page 62: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

62

プロトコル

TCP/IPのプロトコル階層

ARPANETネットワーク

SMTP

TCP UDP トランスポート

無線LAN

POP アプリケーション

層 (OSI 名称)

PPP 物理 +データリンク

HTTP

Ethernet

DNS

IP ネットワーク

Page 63: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

63

2.2 物理層

Page 64: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

64

どれだけ情報を送ることができるか?

• 伝送中に信号が減衰する

• 周波数によって減衰量が異なるため波形が歪む

• 周囲からの雑音が混入する

• 広い周波数帯域を使えば速く送れる

→信号対雑音比を周波数軸上で積分(シャノンの原理)

Page 65: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

65

雑音

• 歪み・エコー– きちんと計算すれば除去可能

• 近端漏話・遠端漏話– チャンネルを分けることで対策可能

• 周囲からの雑音– 一旦混入すると除去困難

Page 66: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

66

平行ケーブル

• 屋内電話線

• コンピュータとモデムをつなぐケーブル

• 数十kbps、十数m

Page 67: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

67

より対線

• 電話線(日本ではカッド構造)– ADSL: 数Mbps、数km– VDSL: 数十Mbps、100m程度

• LANケーブル

– カテゴリ3: 10Mbps程度、100m– カテゴリ5: 100Mbps程度、100m– エンハンストカテゴリ5、カテゴリ6: 1Gbps

Page 68: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

68

同軸ケーブル

• Ethernet: 10Mbps、500m• CATV: アナログ750MHz、数km

銅の芯 絶縁材料

網状の外部導体

保護プラスチックカバー

Page 69: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

69

• ステップインデックス

• グレーデッドインデックス– コア径50μmまたは62.5μm– 100Mbps、2km– 1Gbps、数百m

クラッド

コア

ステップインデックス

グレーデッドインデックス

光ファイバ

Page 70: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

70

光ファイバ(続き)

• シングルモード– コア径9μm程度

– 数十Gbps、数十~数百km• 波長多重(Wavelength Division Multiplex)

– 大数百波長を1本の芯線で伝送可能

シングルモード

Page 71: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

71

無線

• 携帯電話– PDC: 28800bps、数km– PHS: 128kbps、数百m– 3G: 大数Mbps 、数km

• 無線LAN– IEEE 802.11b: 2.4GHz帯、11Mbps、数十m– IEEE 802.11a: 5GHz帯、54Mbps、屋内のみ

– IEEE 802.11g: 2.4GHz帯、54Mbps、屋外可

– IEEE 802.11n: 130~600Mbps、MIMO(Multiple Input Multiple Output)

Page 72: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

72

ch1~3

ch4~6

ch7~9

• 大ゾーン方式9人までサービス可能

小ゾーン方式

• 小ゾーン方式57人までサービス可能

ch1~9ch1~3

ch4~6

ch7~9

ch1~3

ch4~6

ch7~9

ch1~3

ch4~6

ch7~9

ch1~3

ch4~6

ch7~9

ch1~3

ch7~9

ch4~6

ch4~6

Page 73: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

73

位置登録

固 定 電 話 会 社 A

POI

携 帯 電 話 会 社 C 携 帯 電 話 会 社 D

HLR

MSC1 MSC2

VLR

固 定 電 話 会 社 B

HLR: Home Location RegisterVLR: Visitor Location RegisterMSC: Mobile Switching Center

Page 74: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

74

CDMA(Code Division Multiple Access)

• 1ビットをmチップ使って伝送(m=128程度)

• 各通話に固有のチップ列を割り当てる– A:00011011 (−1 −1 −1 +1 +1 −1 +1 +1) – B:00101110 (−1 −1 +1 −1 +1 +1 +1 −1)→A+(−B): (0 0 −2 +2 0 −2 0 +2)

• 各通話は受信信号とチップ列の内積を取る– A: 0+0+2+2+0+2+0+2=8 → 1と認識

– B: 0+0+(−2)+(−2)+0+(−2)+0+(−2)=−8 → 0と認識

Page 75: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

75

MIMO(Multiple Input Multiple Output)

t1

t2

r1

r2

h11h12

h21h22

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛⇒⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛−

2

11

2221

1211

2

1

2

1

2221

1211

2

1

rr

hhhh

tt

tt

hhhh

rr

Page 76: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

76

2.3 データリンク層

Page 77: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

77

データリンク層のおもな機能

• 同期・誤り制御

– フレーム化

• 媒体アクセス制御– 通信媒体が共有されている場合(LAN、無線)

Page 78: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

78

ハミング距離

• 2進符号語間のハミング距離:対応する

ビットが何箇所異なっているか符号語1: 1 0 1 1 0 1 1 0符号語2: 0 1 1 1 0 0 1 1

1 1 0 0 0 1 0 1 → ハミング距離 4

• 符号全体のハミング距離:符号語間のハミング距離の 小値

Page 79: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

79

誤り検出符号、誤り訂正符号

• mデータビット+r冗長ビット=nビット

• dビットの誤り検出→距離d+1が必要

• dビットの誤り訂正→距離2d+1が必要ex. m+r=3, d=1

000 001

011

111

010

110

101100

000 001

011

111

010

110

101100

Page 80: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

80

単一誤り訂正:ハミング符号

• 2mの符号語のそれぞれに対してn個の誤りが対応→(n+1)2m≦2n→(m+r+1) ≦2r

• 2r−1 ≦ n ≦ 2r−1のとき、2のべき乗の位置のビットをチェックビットに使う例:x1=x3+x5+x7+x9+x11

x2=x3+x6+x7+x10+x11x4=x5+x6+x7+x12x8=x9+x10+x11+x12

Page 81: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

81

Cyclic Redundancy Check

• 偶数パリティ:偶3進数に対応

– 10110001=37+35+34+1=2512• nビットの符号語をn-1次式と見なす

– a1xn-1+a2xn-2+…+an-1x+an

• 符号語がr次の生成多項式G(x)で「割り切

れる」ようにする– xrM(x)をG(x)で割った余りをxrM(x)から引く

Page 82: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

82

1 0 0 1 1 11

10

11

00

00

00

11

00

00

00

101

11

00

00

00

11

11

00

00

00

00

01

10

10

10

10

11

00

00

00

00

00

00

01

10

10

10

10

11

01

10

11

00

00

00

10

01

10

10

101

00

00

01

101

10

01

101

00

000

余り

• 送るべきデータ1 1 0 1 0 1 1 0 1 1

• 生成多項式1 0 0 1 1

• データに0を4ビット付加1 1 0 1 0 1 1 0 1 1 0 0 0 0

• 余りを引いて送信1 1 0 1 0 1 1 0 1 1 1 1 1 0

Cyclic Redundancy Checkの例

Page 83: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

83

Cyclic Redundancy Check

• 誤りE(x)がG(x)で割り切れなければ検出可能– G(x)=(x+1)Q(x)なら全ての奇数ビット誤りを検

出可能

– 長さ≦rの全てのバースト誤りを検出可能• xi(xk−1+…+1)

• G(x)の例– x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+

x2+x+1

Page 84: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

84

• G(x)=x4+x+1の例

x4 x3 x2 x1 x0

+ +

ハードウェア

Page 85: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

85

媒体アクセス制御

• コンテンション(競合)方式ex. Ethernet

• ポーリング方式ex. トークンパッシング

Page 86: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

86

ALOHA

Page 87: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

87

ALOHA

• 各地上局からランダムに衛星に向かって送信→衝突がなければACKが返る

→平均使用率が1/2の時スループットは 大となり、有効スループット1/2e≒0.184

• 衛星からのタイミング信号にあわせてパケットを送出(Slotted ALOHA)

→平均使用率が1の時スループットは 大となり、有効スループット1/e≒0.368

Page 88: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

88

Ethernetの歴史

• 1973 Xerox PARC (3Mbps)• 1978 DIX(DEC, Intel, Xerox) 10Mbps• 1980 Ethernet version 1.0• 1982 Ethernet version 2.0• 1983~85 IEEE 802.3, ISO 8802/3• 1995 802.3u (100Mbps: Fast Ethernet)• 1998 802.3z (1Gbps: Gigabit Ethernet)• 2002 802.3ae (10Gbps: 10 Gigabit Ethernet)

Page 89: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

89

CSMA/CD

• 送信する前に他のステーションが送信中でないか聴取し(Carrier Sense: 搬送波検知)

通信終了を待って送信開始

• 送信を始めてからも他のステーションとほぼ同時に送信を開始しなかったか確認する(Collision Detection: 衝突検出)

Page 90: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

90

マンチェスタ符号と衝突検出

トランシーバ

50Ω50Ω

40mA

1 0 0 1 0 1 1

100ns

-1V

0V0 1 0 0

Page 91: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

91

Exponential Backoff

• 衝突が検出されたときには、0~2i−1の範

囲の乱数を発生させ、その時間だけ待ってから再度試みる

• 時間の単位:スロット時間=512ビット

– 信号がネットワーク中を往復するのに十分な時間

– 衝突検出のため 小パケット長もこれだけ必要

Page 92: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

92

時間

パケット長 < 往復時間

ケーブルの途中で衝突が起きているにもかかわらず、送信元では検出されない

Page 93: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

93

時間

パケット長 > 往復時間

衝突が確実に検出される

Page 94: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

94

競合スロット

競合期間

転送期間

アイドル期間

t0

フレーム フレーム

時間

フレーム フレーム

CSMA/CDの動作

Page 95: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

95

フレーム構成

1010…1011 宛先 送信元 データ 誤り検出

64ビット 48ビット48ビット 1696ビット

搬送波検知

32ビット46~1500バイト

≦1500: データ部の長さ(802.3形式)>1500: プロトコル種別(Ethernet形式)

プリアンブル

Page 96: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

96

11111111 11111111 11111111 11111111 11111111 11111111

1

MACアドレスネットワーク中での伝送順

表記法 00:03:93:6b:82:22 または 00-03-93-6b-82-22

製造元コード22ビット

マルチキャストアドレス

ブロードキャストアドレス

製品固有番号24ビット

00000000 11000000 11001001 11010110 01000001 01000100

00000000 00000011 10010011 01101011 10000010 00100010

マルチキャストグループプロトコル

Page 97: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

97

配線の種類(バス型)

• 10BASE-5– 0.4インチ径50Ω同軸、500m、2.5m間隔

• 10BASE-2– 5mm径(RG58A/U)、185m、0.5m間隔30台

Page 98: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

98

リピータ

• 1本のケーブルでは収容しきれないとき、

双方向に増幅、波形整形を行う装置でケーブル間を接続する

Page 99: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

99

リピータ

• リピータを接続するトランシーバではSQEをoffにしなければならない

• リモートリピータ(10BASE-FL)

– 0.85mm帯光ファイバ、2km

Page 100: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

100

10BASE-T

• バス型配線では能動機器は無いが、ショート、接触不良などの検出が困難→機器をリピータ(ハブ)に1対1で接続(スター型

配線)

• 10BASE-T– 2対のUTP (Unshielded Twisted Pair: シールド

無しの撚り対線)、100m

Page 101: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

101

+

10BASE-T

Page 102: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

102

ブリッジ

• リピータでは配線長は長くできるが、ある瞬間に送信可能な端末は1台だけ

→必要な時だけパケットを中継する装置

– トランスペアレントブリッジ

– ソースルーティングブリッジ

• スター配線 → スイッチングハブ

• バッファリング→全2重通信が可能

Page 103: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

103

ブリッジ#1

#2

#3#4

MACアドレス ポート番号

00:01:02:03:04:05 #100:01:02:03:05:07 #200:12:34:01:02:03 #100:23:45:67:89:AB #3

ブリッジ

Page 104: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

104

トランスペアレントブリッジ

• 各ポートに到着するパケットの送信元アドレスを見て学習

• 宛先コンピュータが到着ポートと同じポートに接続されている場合→何もしない

• 宛先の所在のわかっているパケット→そのポートでCSMA/CDを用いて送信

• 宛先の所在不明やマルチキャストのパケット→到着ポート以外のすべてのポートにコピー

• ループが存在する場合→スパニングツリー

Page 105: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

105

ファストイーサネット

• クロックを10倍に高速化→到達距離10分の1(リピータ2段)

• 100BASE-T4– カテゴリ3のUTPを4対、8B6T、100m

• 100BASE-TX– カテゴリ5のUTPを2対、4B5B、100m

• 100BASE-FX– 1.3μm帯光ファイバ、2km(全2重)

Page 106: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

106

ギガビットイーサネット

• 半2重ではパケット長を512バイトに延ばすことで衝突検出を確保

• 1000BASE-LX• 1000BASE-SX

– 光ファイバ、50, 62.5/125μm• 1000BASE-T

– エンハンストカテゴリ5のUTPを4対双方向伝送

• 1000BASE-TX– カテゴリ6のUTPを上り下り2対ずつ

Page 107: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

107

10ギガビットイーサネット

• 全2重モードのみ

• LAN向け仕様「LAN PHY」: 10Gbps• WAN向け仕様「WAN PHY」: 9.2942Gbps• 850nm帯MMF、1310nm帯SMF、1550nm

帯SMF、1310nm帯WWDMとの組み合わせで計7種類の規格

• UTPを用いる規格10GBASE-Tも2006年6月に標準化

Page 108: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

108

無線LAN:隠れ端末問題

AB

C

Aからの電波はCに届かないのでAがBに送信中にCが電波を出すとBのところで衝突が起こる

Page 109: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

109

CSMA/CA(Collision Avoidance)

AB

C

Bが通信予約中でない時、AはBに通信時間を記したRTS(Request To Send: 送信要求)を送る

RTS

Page 110: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

110

CSMA/CA(Collision Avoidance)

AB

C

Bは通信時間を記したCTS(Clear To Send: 送信許可)を返し、通信を予約する

CTS

Page 111: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

111

CSMA/CA(Collision Avoidance)

AB

C

AがBに通信中、CはCTSに記された時間送信を

控える

Page 112: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

112

CSMA/CA(Collision Avoidance)

AB

C

通信が終了するとBはACKを返し、通信の予約

が解ける

ACK

Page 113: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

113

FDDI(Fiber Distributed Data Interface)

• デュアルリング

• 1.3μm帯62.5/125μm光ファイバ、ノード間2km

Page 114: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

114

フレーム構成

宛先 送信元 データ 誤り検出プリアンブル

64ビット 32ビット48ビット48ビット8 8 4 12

スタートデリミタ

フレームコントロール

エンドデリミタ

フレームステータス

• 4B5B符号化 → データに現れないパター

ンを制御信号に使用

• MSB First(アドレスだけはLSBから)

• 大長4500バイト

Page 115: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

115

トークンパッシング

• トークン: 送信権を表す特殊なパケット

– トークンを獲得したステーションはトークン保持時間(=トークン周回目標時間 ー トークン周回時間)の間

送信できる

• データを受け取ったステーションはフレームステータスを設定する– E: エラー

– A: 自分宛であることを認識

– C: 受信確認

Page 116: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

116

トークンパッシング(続き)

• データを送り終わったらトークンを送出(アーリーリリース)

• 送信データが1周して戻ってきたら取り除く

• 同期伝送: あらかじめ予約した時間だけ送信権を得る(リアルタイムデータ用)

Page 117: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

117

2.4 ネットワーク層(IP)

Page 118: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

118

IPヘッダ

バージョン IPヘッダ長 サービスタイプ 全長

識別子

余命時間 プロトコル

フラグメントオフセット

ヘッダチェックサム

送信元アドレス

宛先アドレス

オプション (0語以上)

DF

MF

32ビット

Page 119: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

119

プロトコル番号の例

番号 プロトコル名 用途

1 ICMP 制御メッセージ

6 TCP コネクション指向・ギャランティード

17 UDP コネクションレス・ベストエフォート

Page 120: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

120

IPアドレス

• 32ビットの2進数

– 例:10011101 01010010 11110110 01111000• 8ビットずつ区切って10進数で表したものを

ドット(ピリオド)でつないで表記

– 例:157.82.246.120

Page 121: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

121

cf. 市外局番

32ビット

アドレス範囲

1.0.0.0~127.255.255.255

128.0.0.0~191.255.255.255

192.0.0.0~223.255.255.255

224.0.0.0~239.255.255.255

240.0.0.0~247.255.255.255

クラス

0 ネットワーク ホスト

1 0 ネットワーク ホスト

1 1 0 ネットワーク ホスト

1 1 1 0 マルチキャスト・アドレス

1 1 1 1 0 将来の使用に備え予約

A

B

C

D

E

IPアドレスのクラス

Page 122: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

122

サブネット

cf. 市外局番─市内局番─加入者番号

• 組織の外からはサブネットは見えない

• ドット表記または「IPアドレス/(サブ)ネットマスク長」で表記

32ビット

(サブ)ネットマスク

1 0 ネットワーク サブネット ホスト

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Page 123: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

123

東京大学のサブネットの例

• 可変長サブネットマスク

サブネット アドレス

工学部2号館(旧館) 133.11.82.0/23

工学部3号館 133.11.64.0/22

工学部14号館 133.11.76.0/22

新領域創成科学研究科物質系専攻 157.82.242.0/23

新領域創成科学研究科先端エネルギー工学専攻 157.82.247.0/24

新領域創成科学研究科基盤情報学専攻 157.82.246.0/24

新領域創成科学研究科複雑理工学専攻 157.82.244.0/23

Page 124: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

124

CIDR(Classless Inter Domain Routing)

• クラスCより大きな組織に対してクラスBではなく連続する2n個のクラスCを与える

• トポロジ的に近いネットワークに近いアドレスを与える→経路情報をまとめる

194.0.0.0~195.255.255.255 ヨーロッパ

198.0.0.0~199.255.255.255 北米

200.0.0.0~201.255.255.255 中南米

202.0.0.0~203.255.255.255 アジア・太平洋

• プロバイダを変えるとアドレスも変わる

Page 125: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

125

プライベートアドレス

• 10.0.0.0/8(クラスA×1)

• 172.16.0.0/12(クラスB×16)

• 192.168.0.0/16(クラスC×256)

Page 126: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

126

インターネットへ

172.20.6.3

157.82.246.115

送信元ポート=54321

172.20.6.1 172.20.6.2

送信元ポート=1234

送信元IP=172.20.6.1 送信元IP=157.82.240.115

宛先ポート=54321宛先IP=157.82.240.115

宛先ポート=1234宛先IP=172.20.6.1

NATルータ

NAPT (Network Address and Port Translation)

① 内から外に向かうパケットがあるとNATルータはポート番号を割当

② その後外から来るパケットについてもIPアドレスとポート番号を変換

Page 127: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

127

ARP (Address Resolution Protocol)

• ネットワーク層 (ex. IP) アドレスからMACアドレスを見い出す方法

• ネットワークアドレスを格納したパケットをブロードキャスト

→そのアドレスを持つ端末が応答

Page 128: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

128

パソコン(DHCPクライアント)

DHCPサーバ

DHCP(Dynamic Host Configuration Protocol)

① パソコンは接続しているネットワークにDHCP DISCOVERをブロードキャスト

② DHCPサーバはDHCP OFFERでIPアドレス、ネットマスク、デフォルトゲートウェイ、DNSサーバアドレス等を返答

③ パソコンは使用しようとするIPアドレスをDHCP REQUESTでDHCPサーバに送信

④ DHCPサーバはDHCP ACKでIPアドレスの使用を確認

Page 129: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

129

APIPA(Automatic Private IP Addressing)

• DHCP DISCOVERに対して応答がない場合、169.254.x.y/16のアドレスをランダムに

選び、他の端末が使用中でないことを確認して用いる。

→パソコンとネットワークプリンタの間のネットワークなどを設定不要・DHCPサーバ不

要で構成可能

Page 130: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

130

ニックネーム

• IPアドレスは数字のみで覚えにくい

→英数字+ハイフンからなるニックネーム

• NIC (Network Information Center)が世界中のコンピュータのニックネームとIPアドレスの対応表(hosts.txt)をFTPで公開

– 頻繁に更新する必要

– ニックネームの衝突

Page 131: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

131

DNS (Domain Name System)

com edu gov org net jp kr uk us

汎用トップレベルドメイン 国別トップレベルドメイン

stanfordmit isocicann ac co go ne

keio u-tokyo waseda

or

k tisspicrr

. . .. . .

aida

Page 132: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

132

① パソコンは加入しているプロバイダのDNSサーバに問い合わせを送る

② プロバイダのDNSサーバはルートDNSサーバに問い合わせを送る

③ ルートDNSサーバはjpドメインのDNSサーバのIPアドレスを返す

④ プロバイダのDNSサーバはjpドメインのDNSサーバに問い合わせを送る

⑩ u-tokyo.ac.jpドメインのDNSサーバからの返答をパソコンに返す

DNSの問い合わせ手順

パソコン(DNSクライアント)

ルートDNSサーバ

⑨加入プロバイダのDNSサーバ

③④

jpドメインのDNSサーバ

ac.jpドメインのDNSサーバ

u-tokyo.ac.jpドメインのDNSサーバ

⑥⑤

⑦⑧

Page 133: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

133

WindowsのIPアドレスの設定

Page 134: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

134

DHCPの場合

Page 135: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

135

ipconfigコマンドC:¥Documents and Settings¥aida>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : Aida-W2FW6AXRPrimary Dns Suffix . . . . . . . :Node Type . . . . . . . . . . . . : HybridIP Routing Enabled. . . . . . . . : NoWINS Proxy Enabled. . . . . . . . : NoDNS Suffix Search List. . . . . . : t.u-tokyo.ac.jp

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . : t.u-tokyo.ac.jpDescription . . . . . . . . . . . : Realtek RTL8139/810x Family Fast Ethernet NICPhysical Address. . . . . . . . . : 00-0B-97-2C-4A-53Dhcp Enabled. . . . . . . . . . . : YesAutoconfiguration Enabled . . . . : YesIP Address. . . . . . . . . . . . : 157.82.12.60Subnet Mask . . . . . . . . . . . : 255.255.252.0Default Gateway . . . . . . . . . : 157.82.15.254DHCP Server . . . . . . . . . . . : 133.11.72.4DNS Servers . . . . . . . . . . . : 133.11.123.45

133.11.90.1Lease Obtained. . . . . . . . . . : 2006年4月12日 17:28:46Lease Expires . . . . . . . . . . : 2006年4月12日 19:28:46

Ethernet adapter ワイヤレス ネットワーク接続:

Media State . . . . . . . . . . . : Media disconnectedDescription . . . . . . . . . . . : Intel(R) PRO/Wireless 2915ABG Network ConnectionPhysical Address. . . . . . . . . : 00-0E-35-E4-BA-CD

C:¥Documents and Settings¥aida>

Page 136: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

136

APIPA

Page 137: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

137

APIPA

Page 138: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

138

APIPAC:¥Documents and Settings¥aida>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : Aida-W2FW6AXRPrimary Dns Suffix . . . . . . . :Node Type . . . . . . . . . . . . : HybridIP Routing Enabled. . . . . . . . : NoWINS Proxy Enabled. . . . . . . . : No

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . :Description . . . . . . . . . . . : Realtek RTL8139/810x Family Fast Eth

ernet NICPhysical Address. . . . . . . . . : 00-0B-97-2C-4A-53Dhcp Enabled. . . . . . . . . . . : YesAutoconfiguration Enabled . . . . : YesAutoconfiguration IP Address. . . : 169.254.33.0Subnet Mask . . . . . . . . . . . : 255.255.0.0Default Gateway . . . . . . . . . :

C:¥Documents and Settings¥aida>

Page 139: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

139

無線LANの設定

Page 140: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

140

パケットの転送

• パケットを中継する装置:ルータ

• 届いたパケットが自分宛なら処理

• 自分と同じサブネットのホスト宛ならARPで宛先のMACアドレスを見出して転送

• 自分と異なるサブネットのホスト宛なら自分と同じサブネット上にある他のルータに転送

Page 141: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

141

リピータ/ブリッジ/ルータ

リピータ ブリッジ ルータ

全てのフレームを中継

MACアドレスの

全桁を見て中継

IPアドレスの一部を見

て中継

物理層 データリンク層 ネットワーク層

リピータ自体にアドレスは不要

ブリッジ自体にアドレスは不要

ポート毎に異なるサブネットに属するIPアドレス(とMACアドレ

ス)が必要

ブロードキャストを伝搬する

ブロードキャストを伝搬する

ブロードキャストを通常伝搬しない

Page 142: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

142

ルーティングテーブル

宛先(サブ)ネットワーク (サブ)ネットマスク 転送先

10.0.0.0 255.0.0.0 10.0.0.1172.16.0.0 255.255.0.0 172.16.0.1172.17.0.0 255.255.0.0 172.16.0.2192.168.1.0 255.255.255.0 172.16.0.2192.168.2.0 255.255.255.0 172.16.0.2

ルータAのルーティングテーブル

10.0.0.1

ルータA

172.16.0.1

172.17.0.1

ルータB

172.16.0.2

172.17.0.2

ルータC

192.168.1.1

172.17.0.3

ルータD

192.168.2.1

Page 143: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

143

ルーティングテーブル

宛先(サブ)ネットワーク (サブ)ネットマスク 転送先

10.0.0.0 255.0.0.0 172.16.0.1172.16.0.0 255.255.0.0 172.16.0.2172.17.0.0 255.255.0.0 172.17.0.1192.168.1.0 255.255.255.0 172.17.0.2192.168.2.0 255.255.255.0 172.17.0.3

ルータBのルーティングテーブル

10.0.0.1

ルータA

172.16.0.1

172.17.0.1

ルータB

172.16.0.2

172.17.0.2

ルータC

192.168.1.1

172.17.0.3

ルータD

192.168.2.1

Page 144: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

144

ルーティングテーブル

宛先(サブ)ネットワーク (サブ)ネットマスク 転送先

10.0.0.0 255.0.0.0 172.17.0.1172.16.0.0 255.255.0.0 172.17.0.1172.17.0.0 255.255.0.0 172.17.0.2192.168.1.0 255.255.255.0 192.168.1.1192.168.2.0 255.255.255.0 172.17.0.3

ルータCのルーティングテーブル

10.0.0.1

ルータA

172.16.0.1

172.17.0.1

ルータB

172.16.0.2

172.17.0.2

ルータC

192.168.1.1

172.17.0.3

ルータD

192.168.2.1

Page 145: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

145

ルーティングテーブル

宛先(サブ)ネットワーク (サブ)ネットマスク 転送先

10.0.0.0 255.0.0.0 172.17.0.1172.16.0.0 255.255.0.0 172.17.0.1172.17.0.0 255.255.0.0 172.17.0.3192.168.1.0 255.255.255.0 172.17.0.2192.168.2.0 255.255.255.0 192.168.2.1

ルータDのルーティングテーブル

10.0.0.1

ルータA

172.16.0.1

172.17.0.1

ルータB

172.16.0.2

172.17.0.2

ルータC

192.168.1.1

172.17.0.3

ルータD

192.168.2.1

Page 146: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

146

デフォルトルート

• インターネット中の全てのネットワークをルーティングテーブルに書くことは困難

• 「その他のネットワーク」を一括してアドレス0.0.0.0、ネットマスク0.0.0.0で表現

• 「デフォルトゲートウェイ」のみ設定することも多い

Page 147: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

147

netstatコマンドC:¥Documents and Settings¥aida>netstat -r

Route Table===========================================================================Interface List0x1 ........................... MS TCP Loopback interface0x2 ...00 0b 97 2c 4a 53 ...... Realtek RTL8139/810x Family Fast Ethernet NIC -パケット スケジューラ ミニポート0x3 ...00 0e 35 e4 ba cd ...... Intel(R) PRO/Wireless 2915ABG Network Connection- パケット スケジューラ ミニポート

======================================================================================================================================================Active Routes:Network Destination Netmask Gateway Interface Metric

0.0.0.0 0.0.0.0 157.82.15.254 157.82.12.60 20127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

157.82.12.0 255.255.252.0 157.82.12.60 157.82.12.60 20157.82.12.60 255.255.255.255 127.0.0.1 127.0.0.1 20

157.82.255.255 255.255.255.255 157.82.12.60 157.82.12.60 20224.0.0.0 240.0.0.0 157.82.12.60 157.82.12.60 20

255.255.255.255 255.255.255.255 157.82.12.60 157.82.12.60 1255.255.255.255 255.255.255.255 157.82.12.60 3 1

Default Gateway: 157.82.15.254===========================================================================Persistent Routes:

None

C:¥Documents and Settings¥aida>

Page 148: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

148

パケット分割

最大パケット長1500バイト

最大パケット長1000バイト

最大パケット長1500バイト

len=1500,Id=xyzMF=0, offset=0

len=996, Id=xyzMF=1, offset=0

len=524, Id=xyzMF=0,offset=122

len=996, Id=xyzMF=1, offset=0

len=524, Id=xyzMF=0,offset=122

ルータ ルータ ルータ ルータ

Page 149: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

149

パケット分割

最大パケット長1500バイト

最大パケット長1000バイト

最大パケット長800バイト

len=1500,Id=xyzMF=0, offset=0

len=996, Id=xyzMF=1, offset=0

len=524, Id=xyzMF=0,offset=122

len=796, Id=xyzMF=1, offset=0

len=524, Id=xyzMF=0,offset=122

len=220, Id=xyzMF=1, offset=97

ルータ ルータ ルータ ルータ

Page 150: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

150

ICMP (Internet Control Message Protocol)

タイプ 名称

0 エコー応答

3 宛先到達不能

4 送信元抑制

5 方向変換

8 エコー要求

11 生存時間超過

12 パラメータ障害

13 タイムスタンプ要求

14 タイムスタンプ応答

Page 151: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

151

タイプ=3のコードコード 説明

0 宛先ネットワーク到達不能

1 宛先ホスト到達不能

2 宛先プロトコル到達不能

3 宛先ポート到達不能

4 Don’t Fragmentが指定されたパケットの分割が必要

5 ソースルート失敗

6 宛先ネットワーク不明

7 宛先ホスト不明

8 送信元ホスト隔離中

9 宛先ネットワークとの通信を管理上禁止中

10 宛先ホストとの通信を管理上禁止中

11 このサービス種別では宛先ネットワーク到達不能

12 このサービス種別では宛先ホスト到達不能

Page 152: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

152

tracert(traceroute)コマンドC:¥Documents and Settings¥aida>tracert www.yahoo.com

Tracing route to www.yahoo.akadns.net [66.94.230.32]over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 157.82.15.2542 <1 ms <1 ms <1 ms ra36-vlan2.nc.u-tokyo.ac.jp [133.11.127.43]3 <1 ms <1 ms <1 ms ra37-vlan3.nc.u-tokyo.ac.jp [133.11.127.78]4 <1 ms <1 ms <1 ms tokyo-S1-G2-0.sinet.ad.jp [150.99.197.169]5 1 ms <1 ms 1 ms tokyo-core1-P3-0.sinet.ad.jp [150.99.197.37]6 1 ms 1 ms 1 ms nii-S1-P4-0.sinet.ad.jp [150.99.197.22]7 1 ms <1 ms <1 ms nii-gate2-P4-0.sinet.ad.jp [150.99.198.22]8 101 ms 101 ms 101 ms LAX-gate1-P4-1.sinet.ad.jp [150.99.199.14]9 101 ms 101 ms 101 ms 64.156.173.93

10 111 ms 101 ms 101 ms ae-2-52.bbr2.LosAngeles1.Level3.net [4.68.102.33]11 113 ms 113 ms 113 ms ae-0-0.bbr1.SanJose1.Level3.net [64.159.1.129]12 113 ms 119 ms 132 ms ge-10-1.ipcolo3.SanJose1.Level3.net [4.68.123.75]13 114 ms 114 ms 113 ms unknown.Level3.net [64.152.69.30]14 114 ms 114 ms 114 ms ten-1-3-bas1.scd.yahoo.com [66.218.82.217]15 114 ms 114 ms 114 ms p1.www.scd.yahoo.com [66.94.230.32]

Trace complete.

C:¥Documents and Settings¥aida>

Page 153: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

153

IPv6ヘッダ

32ビット

バージョントラヒッククラス

フローラベル

ぺイロード長 次ヘッダ ホップ制限

送信元アドレス(16バイト)

宛先アドレス(16バイト)

Page 154: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

154

拡張ヘッダ 内容

ホップバイホップオプション ルータに関する様々な情報

宛先オプション 宛先に関する付加情報

ルーティング 訪問すべきルータの厳密でないリスト

フラグメント化 データグラムフラグメントの管理

認証 送信元の身元確認

暗号化された安全ペイロード 暗号化された内容に関する情報

拡張ヘッダ

Page 155: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

155

2.5 トランスポート層

Page 156: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

156

TCPとUDP

• TCP (Transmission Control Protocol)– コネクション型、ギャランティード

– マルチキャスト・ブロードキャスト不可

• UDP (User Datagram Protocol)– コネクションレス、ベストエフォート

– マルチキャスト・ブロードキャスト可

cf. IP (Internet Protocol)– コネクションレス、ベストエフォート

Page 157: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

157

ポート番号 プロトコル名 アプリケーション

21 FTP ファイル転送

23 telnet 遠隔ログイン

25 SMTP 電子メール

53 DNS ドメイン名

80 HTTP WWW110 POP-3 電子メール読み出し

143 IMAP 電子メール読み出し

443 HTTPS セキュアWWW

ポート番号の例

Page 158: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

158

A B C D

アプリケーション層

アプリケーション層

トランスポート層

トランスポート層

A B C DA B C D A B C D

A B C D

C DA BC DA B C DA B

B CA D

A B C D

TCPのサービスモデル

A B C D

ネットワーク層

Page 159: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

159

TCPセグメント

32ビット

送信元ポート 宛先ポート

順序番号

確認通知番号

TCPヘッダ長

UR

G

AC

K

PS

H

RS

T

SY

N

FI

Nウィンドウサイズ

チェックサム 緊急ポインタ

オプション (0 個以上の 32ビット語)

データ (無いこともある)

Page 160: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

160

時間

ホスト1 ホスト2

SYN (SEQ = y, ACK = x + 1)

SYN (SEQ = x)

(SEQ = x + 1, ACK = y + 1)

ホスト1 ホスト2

SYN (SEQ = y, ACK = x + 1)

SYN (SEQ = x)

SYN (SEQ = y)

SYN (SEQ = x , ACK = y + 1)

(b)(a)

TCPのコネクション確立

(a) 通常のTCPコネクション確立

(b) 呼び出しの衝突

Page 161: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

161

TCPの状態遷移

太い実線:クライアントの通常経路

太い点線:サーバの通常経路

CLOSED

LISTEN

ESTABLISHED

CLOSING CLOSEWAIT

(始め)CONNECT/SYN (3ウェイハンドシェークの第1段階)

LISTEN/-

SYN/SYN + ACK

SYNRCVD

FINWAIT 1

TIMEWAIT

LASTACK

FINWAIT 2

SYNSENT

RST/-

ACK/

(能動クローズ)

FIN/ACK

FIN + ACK/ACK

FIN/ACK

ACK/-

ACK/-

ACK/-

SEND/SYN

SYN/SYN + ACK (同時オープン)

(データ転送状態)

SYN + ACK/ACK

(3ウェイハンドシェークの第3段階)

CLOSE/FIN

CLOSE/FIN FIN/ACK

CLOSE/-

CLOSE/-

CLOSE/FIN

CLOSED

(受動クローズ)

(タイムアウト/)

(始めに戻る)

(3ウェイハンドシェークの第2段階)

Page 162: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

162

ACK = 4096 WIN = 0

TCPのフロー制御アプリケーション層から2K受け取る

アプリケーション層から3K受け取る

アプリケーション層に2K渡す

送信側ブロック

送信側は2Kまで送信可能

受信側のバッファ

0 4K

2K

2K

2 K1K

送信側 受信側

ACK = 4096 WIN = 2048

ACK = 2048 WIN = 2048

SEQ = 2048 LEN = 2048

SEQ = 4096 LEN = 1024

SEQ = 0 LEN = 2048

Page 163: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

163

送信側ブロック

送信側ブロック

送信側は2Kまで送信可能

送信側は2Kまで送信可能

アプリケーション層に2K渡す

アプリケーション層に2K渡す

アプリケーション層に2K渡す

受信側のバッファ

送信側 受信側

アプリケーション層が高速な場合

0 4K

2K

ACK = 2048 WIN = 2048

ACK = 4096 WIN = 2048

ACK = 6144 WIN = 2048

2K

2K

SEQ = 0 LEN = 2048

SEQ = 2048 LEN = 2048

SEQ = 4096 LEN = 2048

SEQ = 6144 LEN = 2048

Page 164: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

164

連続送信可能ウィンドウサイズ

• ACKが戻ってくるよりウィンドウサイズが大

きければ連続的に送信可能

例:100Mbps, 片道20km≒0.1ms→ウィンドウサイズ: 20kbit=2500バイト

例:2Mbps, 往復200ms→ウィンドウサイズ: 400kbit=50,000バイト

• ウィンドウスケールオプション

Page 165: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

165

送信側 受信側

×

TCPの誤り制御

タイムアウト

ACK = 2048 WIN = 4096

SEQ = 0 LEN = 2048

SEQ = 0 LEN = 2048

Page 166: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

166

送信側 受信側

ACKが失われた場合

ACK = 2048 WIN = 4096

ACK = 2048 WIN = 2048

×タイムアウト

SEQ = 0 LEN = 2048

SEQ = 0 LEN = 2048

Page 167: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

167

送信側 受信側

累積ACK

×

ACK = 2048

ACK = 12288

ACK = 16384

ACK = 4096

ACK = 6144

ACK = 8192

SEQ = 0 LEN = 2048

SEQ = 2048 LEN = 2048SEQ = 4096 LEN = 2048SEQ = 6144 LEN = 2048SEQ = 8192 LEN = 2048SEQ = 10240 LEN = 2048SEQ = 12288 LEN = 2048SEQ = 14336 LEN = 2088SEQ = 16384 LEN = 2088

Page 168: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

168

送信側 受信側

×

Fast Retransmit

ACK = 2048

ACK = 2048

ACK = 2048

ACK = 2048

ACK = 2048

ACK = 2048

ACK = 14336

重複するACKが3つ続けて届いた

らタイムアウトを待たずに再送

SEQ = 0 LEN = 2048

SEQ = 2048 LEN = 2048SEQ = 4096 LEN = 2048SEQ = 6144 LEN = 2048SEQ = 8192 LEN = 2048SEQ = 10240 LEN = 2048SEQ = 12288 LEN = 2048SEQ = 2048 LEN = 2048SEQ = 14336 LEN = 2048

Page 169: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

169

伝送速度の調節

伝送ネットワーク 内部の

輻輳

小容量の受信者

大容量の受信者

(a) (b)

フロー制御と輻輳制御

Page 170: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

170

輻輳ウィンドウ(キロバイト)

スロースタート・輻輳回避44

40

36

32

28

24

20

16

12

8

4

00 2 4 6 8 10 12

タイムアウト

閾値

14 16 18 20 22 24経過時間(往復遅延)

閾値

Page 171: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

171

輻輳(パケットロス)の検出

• タイムアウト– 閾値 ← 未確認データ量×1/2– 輻輳ウィンドウ ← 1MSS

• 3個の重複するACK– 閾値 ← 未確認データ量×1/2– 輻輳ウィンドウ ← 閾値

Page 172: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

172

UDPヘッダ

32ビット

送信元ポート番号

UDP長

宛先ポート番号

UDPチェックサム

Page 173: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

173

マルチメディアアプリケーション

RTPソケットインタフェース

UDPIP

イーサネット

(a) (b)

Ethernetヘッダ

IPヘッダ

UDPヘッダ

RTPヘッダ

RTPぺイロード

UDPペイロード

IPペイロード

イーサネットぺイロード

ユーザ空間

OSカーネル

RTP (Real-Time Transport Protocol)

Page 174: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

174

RTPヘッダ

32ビット

バージョン

P X M ぺイロードタイプ 順序番号

タイムスタンプ

同期送信元識別子

寄与送信元識別子

CC

Page 175: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

175

2.6 経路制御

Page 176: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

176

DijkstraのアルゴリズムC (∞, -)

E (∞, -)

H (∞, -)G (6, A)

D (∞, -)A

A A

(a)

F (∞, -) D (∞, -)

(c)

B (2, A) C (8, B)

H (∞, -)

E (4, B)

G (6, A)

F (6, E)

(e)

B (2, A) C (8, B)

H (9, G)

E (4, B)

G (5, E)(f)

F (6, E)

(d)

B (2, A) C (8, B)

H (∞, -)

E (4, B)

G (5, E)

F (∞, -) D (∞, -)A

(b)

B (2, A)

D (∞, -)

HG

41

A D2

B 6 C

3

3 3

22 FE

2

6

A F (6, E)

B (2, A) C (8, B)

H (8, F)

E (4, B)

G (5, E)

D (∞, -)

Page 177: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

177

距離ベクトル方式(Bellman-Fordの

アルゴリズム)

• 宛先ノードまでの遅延の見積値を隣接ノード間で交換

• 受け取った見積値にそのノードまでの遅延を加えた値を比較し、 小のものを選択

Page 178: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

178

HG

41

A D2

B 6 C

3

3 3

22 FE

2

6

• Bから Fから Gから 計算結果

A 2B 0C 6D 9E 2F 4G 3H 6

A 6B 4C 3D 5E 2F 0G 3H 2

A 5B 3C 6D 7E 1F 3G 0H 4

A 4 BB 2 BC 5 FD 7 FE 0 -F 2 FG 1 GH 4 F

Page 179: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

179

link state方式

• 隣接ノードとそこに至る遅延時間を他のすべてのノードに伝える

→各ノードにおいてDijkstraのアルゴリズム

により 短経路を計算

Page 180: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

180

経路制御プロトコルの例

• RIP (Routing Information Protocol)– 距離ベクトル

– version 2でサブネットに対応

• OSPF (Open Shortest Path First)– link state

• BGP (Border Gateway Protocol)– 自律システム(≒プロバイダ)間の経路制御

– パスベクトル:距離だけでなく途中経路をすべて伝える

Page 181: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

181

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

Page 182: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

182

3.1 電子メール

Page 183: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

183

① 送信者は加入しているプロバイダの送信メールサーバにメールを送る(SMTP)

② 送信メールサーバは宛先メールアドレスのドメインを担当するメールサーバをDNSで見出す

③ 送信メールサーバは宛先メールアドレスの受信メールサーバにメールを転送(SMTP)

④ 受信メールサーバは受信したメールをディスクに格納

⑤ 受信者が受信メールサーバに接続して届いたメールを読み出す(POPまたはIMAP)

電子メールが届くまで

送信者のパソコン

送信者のプロバイダの送信用メールサーバ

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

受信者のパソコン

②⑤

DNSサーバ

Page 184: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

184

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

Mr. Daniel Dumkopf18 Willow LaneWhite Plains, NY 10604

United Gizmo180 Main StBoston, MA 02120Sept. 1, 2002

Yours trulyUnited Gizmo

Subject: invoice 1081

Dear Mr. Dumkopf,

show that you still havenot paid the above invoiceof $0.00. Please send us acheck for $0.00 promptly.

エンベロープ

メッセージ

(a) (b)

本文

ヘッダ

エンベロープ37¢

Our computer records

Yours trulyUnited Gizmo

Dear Mr. Dumkopf,

show that you still havenot paid the above invoiceof $0.00. Please send us acheck for $0.00 promptly.

Our computer records

From: United GizmoAddress: 180 Main StLocation: Boston, MA 02120Date: Sept. 1, 2002Subject: invoice 1081

Name: Mr. Daniel DumkopfStreet: 18 Willow LaneCity: White PlainsState: NYZip code: 10604Priority: UrgentEncryption: None

Page 185: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

185

各ヘッダの意味

ヘッダ 意味

From: 送信元

To: 主たる宛先

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

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

Date: 送信日時

Subject: 題名

Sender: 実際の送信者

Reply-To: 返信先

Message-Id: メッセージ識別子

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

Received: メールの転送履歴

Page 186: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

186

SMTP, POPプロトコル

• クライアントからサーバに1行コマンドを送信するとサーバからクライアントに1行以上

の応答が返ってくる

• 返答の先頭にステータスコード

• 複数行からなるデータを送るときにはピリオドだけからなる行で終わりを表す

Page 187: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

187

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

MAIL From: [email protected]

250 2.1.0 [email protected]... Sender ok

RCPT To: [email protected]

250 2.1.5 [email protected]... Recipient ok

From: [email protected]: [email protected]: 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

354 Enter mail, end with "." on a line by itself

DATA

クライアント

サーバ

コネクションを切断

Page 188: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

188

+OK 1 75712 49793 101424 62495 62646 71217 81758 114709 717310 1042211 521312 551413 588314 626815 561316 318117 1037. ←ピリオドだけからなる行

110番ポートにコネクションを設定

+OK <7330.1089811212@popichi06e>

USER aida

+OK

PASS aida1104

+OK

LIST

クライアント

サーバ

Page 189: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

189

+OK 1037 octetsReturn-Path: <[email protected]>Delivered-To: [email protected]: (qmail 15008 invoked from network); 14 Jul 2004 22:17:03 +0900Received: from unknown (HELO ns.zzz.net) (192.168.1.136)

by drpichi01e with SMTP; 14 Jul 2004 22:17:03 +0900Received: (qmail 7939 invoked from network); 14 Jul 2004 22:17:03 +0900Received: 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 id

i6EDGiB17357for <[email protected]>; Wed, 14 Jul 2004 22:16:44 +0900

Received: from uso800.aida.k.u-tokyo.ac.jp (sail-450.sail.t.u-tokyo.ac.jp [172.20.1.1])

by aida.k.u-tokyo.ac.jp (8.11.6/8.11.6) with SMTP id i6EDFkf17350

for [email protected]; Wed, 14 Jul 2004 22:16:02 +0900Date: Wed, 14 Jul 2004 22:16:02 +0900Message-Id: <[email protected]>From: [email protected]: [email protected]: test

←ヘッダと本文の区切りHello, how are you?

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

RETR 17

QUIT

+OK

クライアント

サーバ

コネクションを切断

Page 190: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

190

注意すべき点

• パスワード・本文はそのまま送られる– APOP– POP over SSL

• MAIL FROM・メッセージヘッダのFromは本人確認されているわけではない– POP before SMTP– SMTP AUTH– PGP, S/MIME

Page 191: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

191

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

Page 192: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

192

MIME (Multipurpose Internet Mail Extensions)

• ASCII文字以外のデータを送るための仕

様– ヘッダ中の非ASCII文字

– 本文中の非ASCII文字(Transfer-Encoding)

– テキスト以外のデータ(Content-Type)– 複数部分からなる本文(添付ファイル等)

Page 193: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

193

Content-Typeの例

• text/plain• text/enriched• image/gif• image/jpeg• audio/basic• video/mpeg

• application/octet-stream • application/postscript• multipart/mixed• multipart/alternative

Page 194: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

194

デジタル化

• 標本化(サンプリング)– 高周波数の2倍以上高い周波数で標本化すれば

情報は失われない(ナイキストの原理)

• 量子化

– 必ず情報が失われる

Page 195: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

195

(圧縮)符号化

• 変換– 偏りを大きくする

• (再量子化)

• エントロピー符号化

• 可逆 (lossless): 数分の1程度

• 不可逆 (lossy): 数十分の1以下のものも

Page 196: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

196

オーディオ

• CELP: 音質あまり良くない→携帯電話

• MP3: 人間の聴覚特性を利用した圧縮

マスク信号が150Hzの可聴

閾値

周波数 (kHz)

音圧

(dB

)

.1 1 10 205.5.2.05.02 2

80

60

40

20

0

(a)周波数 (kHz)

(b)

マスクされる信号

可聴閾値f

音圧

(dB

)

80

60

40

20

0.1 1 10 205.5.2.05.02 2

Page 197: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

197

静止画像

• BMP• GIF• PNG• JPEG• JPEG-2000

Page 198: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

198

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変換

Q

Yx

y/2

Ix/2

1 Block = 8 pixel x 8 pixel8-Bit pixel

RGB

24-Bit pixel

y/2

yy

x

Page 199: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

199

DCT (Discrete Cosine Transformation) 係数の符号化

1509252124210

807538

83210

403626

62100

46720000

21410000

10000000

00000000

DCT係数 量子化された係数量子化テーブル

11248

163264

11248

163264

22248

163264

44448

163264

88888

163264

1616161616163264

3232323232323264

6464646464646464

1410840100

1509226

31000

80751920000

201813

20000

43210000

11100000

00000000

00000000

00000000

Page 200: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

200

グラフィックス

• Postscript• PDF• Flash

Page 201: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

201

動画像

• Motion JPEG• MPEG-1• MPEG-2• H.264

Page 202: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

202

動き補償

• 16×16画素のマクロブロックごとに参照フ

レーム内で も似ている位置(画素または半画素単位)を探し、その変位(動きベクトル)と差分画像を符号化

Page 203: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

203

ピクチャ形式

• Iピクチャ

– 全てのブロックをJPEGと同じ方式で符号化

• Pピクチャ

– 直前のIまたはPピクチャから予測符号化

• Bピクチャ

– 直前のIまたはPピクチャと直後のIまたはPピク

チャの両方から予測符号化

Page 204: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

204

GOP (Group of Pictures)

• 定期的にIピクチャを挿入することで伝送誤

りや頭出し等に対処

• I B B P B B P B B P B B P B B• I B B P B B P B B P B B P B B P• I P P P P P P P P P P P P P P

Page 205: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

205

コンテンツ配信

• ダウンロード

• ストリーミング

• QuickTime• Real• Windows Media

Page 206: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

206

3.3 World Wide Web

Page 207: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

207

WWWの生い立ち

• 1989 CERN (European Center for Nuclear Research) で文書管理のために考案– 他の文書へのリンクを含むテキスト(HyperText)– HTML

• 1993 Mosaic– クリックするだけでリンク先にアクセスすることのでき

るグラフカルユーザインタフェース

• 1994 World Wide Web Consortium• Netscape Navigator vs. Internet Explorer

Page 208: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

208

URL (Uniform Resource Locator)

スキーム名://ドメイン名:ポート番号/ファイル名

例:http://www.aida.k.u-tokyo.ac.jp:8080/index.html• 「:ポート番号」、「/ファイル名」は省略可能

• 「:ポート番号」を省略した場合にはスキーム

ごとの既定値が使用される

Page 209: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

209

スキームの例

スキーム名 プロトコル ポート番号

http HTTP 80https 暗号化されたHTTP 443

file そのコンピュータ上のファイル

-

ftp ファイル転送プロトコル 21

mailto 電子メール 25

Page 210: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

210

GET /~aida/koujichu.html HTTP/1.0←コマンドの終わりを表す空行

80番ポートにコネクションを設定

HTTP/1.1 200 OK ←ステータスDate: Thu, 21 Apr 2005 02:41:27 GMTServer: Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26Last-Modified: Thu, 21 Apr 2005 02:17:43 GMTETag: "beedd-9d-42670d47"Accept-Ranges: bytesContent-Length: 157Connection: closeContent-Type: text/html

←ヘッダと本文を区切る空行<HTML>

<HEAD><TITLE>工事中</TITLE>

</HEAD><BODY><IMG SRC="koujichu.gif" ALT="工事中">申し訳ありませんがただい

ま工事中です</BODY>

</HTML>

クライアント

サーバ

コネクションを切断

Page 211: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

211

ブラウザの構造

• 第1世代:全てのコンテンツをブラウザ自身が処

• ヘルパーアプリケーション

– 別ウィンドウで動作

• プラグイン

– ブラウザウィンドウ内で動作

• アプレット

– 実行可能なプログラムをコンテンツとしてダウンロード

Page 212: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

212

ブラウザの構造

GIFJPEG

インタプリタ

HTMLインタプリタ

HTML

プラグイン

GIFJPEG等

Flash等

HTTP

ブラウザアプリケーション

Webコンテンツ

ヘルパーアプリケーション

アプレット

ユーザインタフェースReal等

Page 213: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

213

HTML (HyperText Markup Language)

• 文書構造を記述するためのSGML (Standard Generalized Markup Language)をハイパーテキスト記述に応用

HTML 1.0

HTML 2.0

Netscape独自 Microsoft独自HTML 3.0

HTML 3.2

HTML 4.0

Page 214: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

214

タグ

<タグ名 属性名=“属性値”>文字列</タグ名>開始タグ 終了タグ

• タグ名、属性名の大文字/小文字は区別しない

• 終了タグは省略されることもある

Page 215: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

215

基本的なタグ

タグ名 意味 属性など

H1~H6 見出し 数字の小さい方が大きな見出し

P 段落 align=“right”など

BR 改行 終了タグなし

I イタリック

B ボールド

FONT フォント size, face, colorなど

IMG 画像埋め込み

src=“ファイル名” alt=“代替文字列”width, height、終了タグなし

Page 216: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

216

記述例<H1>レベル1の見出し</H1><H2>レベル2の見出し</H2><H3>レベル3の見出し</H3>入力本文中で改行しても画面上では改行されないので画面上で改行したい場合には&lt;P&gt;や&lt;BR&gt;を使う必要があります。<P>&lt;B&gt;と&lt;/B&gt;で囲まれた部分は<B>ボールド</B>で表示されます。<BR>&lt;I&gt;と&lt;/I&gt;で囲まれた部分は<I>イタリック</I>で表示されます。<BR>&lt;U&gt;と&lt;/U&gt;で囲まれた部分は<U>下線付き</U>で表示されます。<BR>

Page 217: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

217

Page 218: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

218

ハイパーリンク(アンカー)

• <A href=“URL”>文字列</A>• <A href=“ファイル名”>文字列</A>• 多くのブラウザでは文字列の部分の色を

変えてアンダーラインを引くことでハイパーリンクの存在を意識させる

Page 219: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

219

HTML文書の全体構造

<HTML><HEAD>

<TITLE>タイトル</TITLE></HEAD><BODY>

文書本体

</BODY></HTML>

Page 220: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

220

リスト、表

タグ名 意味 属性など

UL Unnumbered List type=“disc”/”circle”/”square”OL Orderd List type, startなど

LI List Item リストの項目

TABLE Table borderなど

TR Table Row rowspan(行をまたがる)など

TD Table Data align, valign, rowspan, colspan, nowrapなど

TH Table Header ボールドでセンタリング

Page 221: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

221

<UL><LI>&lt;B&gt;と&lt;/B&gt;で囲まれた部分は<B>ボールド</B>で表示されます。<LI>&lt;I&gt;と&lt;/I&gt;で囲まれた部分は<I>イタリック</I>で表示されます。<LI>&lt;U&gt;と&lt;/U&gt;で囲まれた部分は<U>下線付き</U>で表示されます。</UL><TABLE BORDER><TR><TH>タグ名<TH>意味<TH>属性など<TR><TD>TABLE<TD>Table<TD>borderなど<TR><TD>TR<TD>Table Row<TD>rowspan(行をまたがる)など<TR><TD>TD<TD>Table Data<TD>align, valign, rowspan, colspan, nowrapなど<TR><TD>TH<TD>Table Header<TD>ボールドでセンタリング</TABLE>

Page 222: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

222

Page 223: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

223

ブラウザ独自のタグ

• BLINK– 点滅表示

– Netscape Navigatorのみ

• MARQUEE– 横スクロール

– Internet Explorerのみ

Page 224: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

224

XML (eXtensible Markup Language)

• 見かけではなく項目の意味づけを記述

– 利用者が新たなタグを定義

– 企業間でのデータ交換など多目的に利用可

• ブラウザに表示するためには見かけをXSL (eXtensible Stylesheet Language) によ

るスタイルシートで記述

Page 225: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

225

XMLによるコンテンツ記述例

<?xml version="1.0" ?><?xml-stylesheet type="text/xsl" href="book_list.xsl"?><book_list><book> <title> Computer Networks, 4/e </title> <author> Andrew S.

Tanenbaum </author> <year> 2003 </year> </book><book> <title> Modern Operating Systems, 2/e </title> <author> Andrew

S. Tanenbaum </author> <year> 2001 </year> </book><book> <title> Structured Computer Organization, 4/e </title> <author>

Andrew S. Tanenbaum </author> <year> 1999 </year> </book></book_list>

Page 226: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

226

XSLによるスタイルシート

<?xml version='1.0'?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

version="1.0"><xsl:template match="/"><html><body><table border="2">

<tr><th> Title</th><th> Author</th><th> Year </th>

</tr>

Page 227: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

227

XSLによるスタイルシート(続き)

<xsl:for-each select="book_list/book"><tr>

<td> <xsl:value-of select="title"/> </td><td> <xsl:value-of select="author"/> </td><td> <xsl:value-of select="year"/> </td>

</tr></xsl:for-each>

</table></body></html></xsl:template></xsl:stylesheet>

Page 228: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

228

Page 229: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

229

動的文書・アクティブ文書

• クライアント側スクリプト– JaveScript– VBScript

• アプレット

• サーバー側スクリプト– ASP (Active Server Pages)

• サーバー側プログラム– CGI (Common Gateway Interface)– Java Servlet

Page 230: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

230

動的文書・アクティブ文書

クライアントサイド

スクリプト

インタプリタ

ブラウザ

アプレット

インターネット

サーバサイドスクリプト

インタプリタ

Webサーバ

CGI CGIプログラム

クライアントコンピュータ Webサーバコンピュータデータベースコンピュータ

Page 231: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

231

クライアント側スクリプトの例(クリックなしにリンク先を表示)

<html><head><script language="javascript" type="text/javascript">if (!document.myurl) document.myurl = new Array();document.myurl[0] = "http://www.aida.k.u-tokyo.ac.jp/~aida/rat.jpg";document.myurl[1] = "http://www.aida.k.u-tokyo.ac.jp/~aida/ox.jpg";document.myurl[2] = "http://www.aida.k.u-tokyo.ac.jp/~aida/tiger.jpg";function pop(m) {

popupwin = window.open(document.myurl[m],"mywind","width=256,height=256");}</script></head><body><p> <a href="#" onMouseover="pop(0); return false;" > rat </a> </p><p> <a href="#" onMouseover="pop(1); return false;" > ox </a> </p><p> <a href="#" onMouseover="pop(2); return false;" > tiger </a> </p></body></html>

Page 232: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

232

クライアント側スクリプトの例(階乗の計算)

<html><head><script language="javascript" type="text/javascript">function response(test_form) {

function factorial(n) {if (n == 0) return 1; else return n * factorial(n - 1);}var r = eval(test_form.number.value); // r = typed in argumentdocument.myform.mytext.value = "Here are the results.¥n";for (var i = 1; i <= r; i++) // print one line from 1 to r

document.myform.mytext.value += (i + "! = " + factorial(i) + "¥n");}</script></head><body><form name="myform">Please enter a number: <input type="text" name="number"><input type="button" value="compute table of factorials" onclick="response(this.form)"><p><textarea name="mytext" rows=25 cols=50> </textarea></form></body></html>

Page 233: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

233

フォーム

<FORM METHOD="GET" ACTION=”/cgi-bin/sample.cgi">氏名<INPUT TYPE="text" NAME="name">年令<INPUT TYPE="text" NAME="age" SIZE="5"><P>男<INPUT TYPE="radio" NAME="sex" VALUE="male">女<INPUT TYPE="radio" NAME="sex" VALUE="female">勤労学生<INPUT TYPE="checkbox" NAME="student" VALUE="1">障害者<INPUT TYPE="checkbox" NAME="handicapped"

VALUE="1"><INPUT TYPE="submit" VALUE="送信"></FORM>

Page 234: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

234

Page 235: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

235

CGIプログラムへのデータの渡し方

• METHOD=“GET”の場合– URLのファイル名の後に付けられる

GET /cgi-bin/sample.cgi?name=Hitoshi+AIDA&age=47&sex=male

– CGIプログラムの環境変数QUERY_STRINGに与えられる

• METHOD=“POST”の場合– CGIプログラムの標準入力に与えられる

Page 236: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

236

CGIプログラムの例と実行結果

#!/bin/sh

echo "Content-type: text/plain"echo ""

echo '$QUERY_STRING'echo $QUERY_STRING

echo 'stdin'cat

$QUERY_STRING

name=Hitoshi+AIDA&age=47&sex=male

stdin

Page 237: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

237

Cookie

• HTTPリクエストをまたいで状態を保持する手段

• Set-Cookie/Set-Cookie2レスポンス

– Set-Cookie: 変数名=値; Path=パス名 …

• Cookieリクエストヘッダ

– Cookie: 変数名1=値1; 変数名2=値2 …

• CGIでは環境変数HTTP_COOKIEで参照可

Page 238: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

238

負荷分散

リクエスト分配スイッチ

データベース

Webサーバ

Page 239: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

239

Content Delivery Network

従来のWebサーバシステム コンテンツ配信システム

Page 240: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

240

Web 2.0「Web 1.0」 「Web 2.0」

DoubleClick Google AdSenseOfoto Flickr

mp3.com NapsterBritannica Online Wikipedia

個人のウェブサイト ブログ

ドメイン名の投機 検索エンジンへの 適化

ディレクトリ

(分類学)

タグ付け

(人々による分類”folksonomy”)

Page 241: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

241

Web 2.0

• Webがプラットフォームとして振舞う

– WebをOSとみなし、その上でアプリケーション的な

サービスを展開する

• 集合知を利用する

– 小さな情報をたくさん集め、新しい価値を付け加えてみんなに提供する

• データは次世代の「インテル・インサイド」

– サービスの「核」となるデータを持つことで、支配的な立場を得る

Page 242: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

242

Web 2.0

• ソフトウェア・リリースサイクルの終焉– ソフトのバージョンアップを繰り返して売る、というビジ

ネスはなくなる

• 軽量なプログラミングモデル– 迅速に開発できる環境、扱いやすいパーツで構成さ

れたプログラム

• 単一デバイスの枠を超えたソフトウェア– 携帯電話などPC以外の機器も意識して、Webの可能

性を広げる

• リッチなユーザー経験– PCでできることをWebだからとあきらめない

Page 243: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

243

ロングテール

• 20:80の法則

– 20%の商品から80%の売り上げ

– 20%の社員から80%の成果 etc.• 実店舗では20%に注力

• アマゾン・ドット・コムでは230万品目中13万位以下の売り上げが57%

Page 244: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

244

4. セキュリティと著作権保護

Page 245: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

245

4.1 セキュリティ概論

Page 246: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

246

セキュリティモデル

• 脅威

– 火災、地震

– 物理的侵入

– 攻撃

⇒脆弱性

– 物理的

– ソフトウェアの不具合

– 修正の未導入

– 不適切なアクセス許可

– 手続きの不備

⇒被害

– ハードウェア

– ソフトウェア

– データ

– サービス

– 社会的信用

– イメージ

Page 247: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

247

攻撃の目的

• 邪魔(DoS)

• 盗聴

• なりすまし、権限の取得

• 改ざん

• しらばくれ

• 破壊

Page 248: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

248

攻撃の手段

• 公開情報の分析

• 不正入手情報の活用

• セキュリティホール

• ソーシャルエンジニアリング

Page 249: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

249

攻撃の形態

• 特定相手に直接

• 踏み台・DDoS• 自己増殖(ワーム・ウィルス)

Page 250: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

250

防御手段

• 入口を狭めて関所を設ける– パケットフィルタ

– ファイアウォール

• セキュリティホールをふさぐ– 新のパッチを適用

– 新バージョンへの移行

• 侵入検知・ウィルス検出– 既知パターンとのマッチング

– 一貫性検査

– エキスパートシステム

Page 251: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

251

ファイアウォールとDMZ

Page 252: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

252

防御手段(続き)

• 暗号化

• 認証

– パスワード(ワンタイム・チャレンジレスポンス)

– ICカード

– バイオメトリクス

• デジタル署名

Page 253: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

253

4.2 暗号技術

Page 254: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

254

暗号のモデル

暗号化アルゴリズム

受動的侵入者(聞くのみ)

能動的侵入者(メッセージのすりかえを行う)

平文 P 平文復号

アルゴリズム

暗号化鍵 k 復号鍵 k’

暗号文 C=Ek(P)

侵入者

Page 255: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

255

暗号解読のレベル

• 暗号文のみ

• 既知平文

– いくつかの暗号文と対応する平文が与えられている(例:PLEASE LOGIN)

• 結託攻撃

• 選択平文

– 暗号化すべき平文を解読者が指定できる

Page 256: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

256

暗号方式の分類

• 共通鍵(対称鍵、秘密鍵)暗号

– 換字式暗号

– 転置式暗号

– プロダクト暗号

• 公開鍵(非対称鍵)暗号

Page 257: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

257

換字式暗号

• 例:単一アルファベット換字– a→Q, b→W, c→E, d→R, e→T, f→Y, …– 26!通りの鍵があり得る

• 統計的性質を用いると容易に解読可能– 例:文字の出現頻度 e, t, o, a, n, i, …

th, in, er, re, an, …the, ing, and, ion, ...

Page 258: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

258

転置式暗号

M E G A B U C K

7 4 5 1 2 8 3 6

p l e a s e t r 平文

pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo

暗号文

AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNTWRNNTSOWDPAEDOBUOERIRCXB

a n s f e r o n

e m i l l i o n

d o l l a r s t

o m y s w i s s

b a n k a c c o

u n t s i x t w

o t w o a b c d

Page 259: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

259

絶対に「解読」できない暗号

• バーナム暗号– ガイガーカウンタで採取するなどした真の乱数

を鍵として平文と排他的論理和をとる

– 鍵は使い捨てにする

– 送信する総データ量より長い鍵が必要

– 鍵を送受信者で安全に共有する必要

→実用にはならない

Page 260: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

260

教訓

• 暗号のアルゴリズムには平文と暗号文の対応関係がわからない程度の複雑性を持たせ、個々の通信文の秘密は鍵を頻繁に変えることで維持

• 暗号のアルゴリズムは公開し、脆弱性がないか皆で検討

Page 261: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

261

プロダクト暗号

S1

S2P1 P4P3P2

S3

S4

S5

S6

S7

S8

プロダクト暗号

(c)

Sボックス

デコ

ーダ

: 3 to

8

エン

コー

ダ: 8

to 3

(b)

Pボックス

(a)

S9

S10

S11

S12

Page 262: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

262

標準暗号方式

• DES (Data Encryption Standard)– 64ビットブロック

– 56ビット鍵

– 16ステージ

• IDEA (International Data Encryption Algorithm)– 64ビットブロック

– 128ビット鍵

• AES (Advanced Encryption Standard)– 128ビットブロック

– 128ビットまたは256ビット鍵

Page 263: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

263

電子符号ブックモードの問題点

氏名 地位 ボーナス

16 8 8バイト

D a v i s , B o b b i e J a n i t o r $ 5

C o l l i n s , K i m M a n a g e r $ 1 0 0 , 0 0 0

B l a c k , R o b i n B o s s $ 5 0 0 , 0 0 0

A d a m s , L e s l i e C l e r k $ 1 0

Page 264: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

264

暗号ブロック連鎖方式

(a) (b)

+

E

初期化

ベクトル

C0

+

E

C1

+

E

C2

+

E

C3

D

P0

D

P1

D

P2

D

復号ボックス

暗号化ボックス

排他的論理和P3

C0 C1 C2 C3P0 P1 P2 P3

初期化

ベクトル

+ + + +

Page 265: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

265

(a)

P10

C10

E

C2 C3 C4 C5 C6 C7 C8 C9

暗号化ボックス

最左バイトを選択

排他的論理和

(b)

鍵 E

64ビットシフトレジスタ

C2 C3 C4 C5 C6 C7 C8 C9

最左バイトを選択

暗号化ボックス

64ビットシフトレジスタ

C10

C10

C10 P10++

暗号フィードバックモード

Page 266: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

266

公開鍵暗号

• Dk’(Ek(P))=P• EkからDk’を推測することはきわめて難しい

(選択平文攻撃によってもDk’は破られな

い)

– 例:大きな数の因数分解、離散対数、楕円曲線上の整数座標点

→Ekは公開してよい

Page 267: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

267

RSA暗号

• 鍵の準備– 大きな2つの素数pとqを選ぶ(>10100)

– n=p×qとz=(p−1)×(q−1)を計算

– zと互いに素な数eを見つける

– (e×d) mod z=1を満たすdを見つける

• 暗号化:Ee,n(P)=Pe mod n• 復号:Dd,n(C)=Cd mod n

Page 268: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

268

RSA暗号の計算例

• p=293, q=347 → n=101671, z=101032• 101032と互いに素な数 e=285• (285×d) mod 101032=1 より d=709

• P=54321 → C=P285 mod 101671=64858• 64858709 mod 101671=54321

Page 269: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

269

共通鍵暗号と公開鍵暗号の比較

• 共通鍵暗号– 必要な鍵の総数:n(n-1)/2– 各ユーザは(n-1)個の鍵を安全に保持する必要あり

– 比較的高速

– 任意のビットパタンを鍵として使用可能

• 公開鍵暗号– 必要な鍵の総数:2n– 各ユーザは自分の秘密鍵を安全に保持すればよい

– 低速

– 鍵として使用可能なビットパタンに制約有り

→鍵のビット数が同じなら共通鍵暗号の方が強い

Page 270: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

270

ハイブリッド型暗号

• ランダムなビット列を生成して公開鍵暗号で送り、それを共通鍵暗号の鍵として使用

共通鍵暗号化

共通鍵復号

公開鍵復号

公開鍵暗号化

平文P

ランダムビット列

KS

平文PKS(P)

EB(KS)

B夫の公開鍵EB

B夫の秘密鍵DB

A子

B夫

Page 271: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

271

認証

• 毎回同じパスワードを用るのは危険

→チャレンジ・レスポンスプロトコル

A

RB

1

2

4

5

3 KAB(RB)

KAB(RA)

RA

A子

B夫

Page 272: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

272

A子

B夫

プロトコルの短縮化

1

3

2 RB, KAB(RA)

KAB(RB)

A, RA

Page 273: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

273

反射攻撃

1

5

2 RB, KAB(RT)

KAB(RB)

A, RT

3

4 RB2, KAB(RB)

A, RBT助

B夫

Page 274: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

274

公開鍵を用いた認証

1EB(A, RA)

3KS(RB)

2EA(RA, RB, KS)A

子B夫

Page 275: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

275

デジタル署名

• 受信者が送信者の身元を確認できる

• 送信者は、送ったメッセージの内容を否認できない

• 受信者がメッセージをでっち上げることはできない

Page 276: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

276

公開鍵暗号によるデジタル署名

• Ek(Dk’(P))= Dk’(Ek(P))= P であるなら

通信回線A子のコンピュータ B夫のコンピュータ

A子の秘密鍵

DA

DA(P)P P

A子の公開鍵

EA

B夫の公開鍵

EB

A子の秘密鍵

DA

DA(P) DA(P)EB(DA(P))P P

B夫の秘密鍵

DB

A子の公開鍵

EA

Page 277: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

277

メッセージダイジェスト

• PからMD(P)を計算するのは容易

• MD(P)からPを見つけるのは極めて困難

• MD(P)=MD(P’)となるP, P’の組を作成す

ることはできない

P, DA(MD(P))

EB(P, DA(MD(P)))

またはA子

B夫

Page 278: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

278

公開鍵の安全な取得

• 公開鍵をホームページで公開したら…

4.メッセージをEBで暗号化

T助

1. B夫のホームページを要求

2. ホームページをETで偽装

3.メッセージをETで暗号化B夫A子

Page 279: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

279

公開鍵証明書

デジタル署名アルゴリズムの識別子(証明書発行者の署名用)

証明書形式バージョン

証明書シリアル番号

発行者(認証機関)のx.509名前

有効期限(開始/終了日時)

主体者のx.509名前

主体者公開鍵情報

アルゴリズム識別子

公開鍵値

発行者のユニークな識別子

主体者のユニークな識別子

拡張

メッセージダイジェスト

電子署名生成

認証機関の電子署名

認証機関の秘密鍵

Page 280: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

280

Certification Authorities

CA 3 CA 4 CA 5 CA 6 CA 7

CA 2CA 1

ルートCA

CA 7の公開鍵6384AF863B…を証明します。

CA 2の署名

ルートCAの署名

CA 1の公開鍵47383AE349…を証明します。

CA 7の公開鍵6384AF863B…を証明します。

CA 2の署名

ルートCAの署名

CA 1の公開鍵47383AE349…を証明します。

Page 281: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

281

PGP, S/MIME

• PGP (Pretty Good Privacy)– 1991にPhil Zimmermannが開発

– フリーのPC向けパッケージソフト

– 「友達の友達は友達」信頼モデル

• S/MIME (Secure/MIME)– RSA Security社が開発→RFC2311~2315– 何らかの公開鍵証明書が必要

Page 282: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

282

4.3 著作権保護

Page 283: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

283

デジタルコンテンツと著作権

• デジタルコンテンツ:複製が容易かつ複製による劣化が生じない

• プログラムの不正コピー

• 海賊版CD• Napster, WinMX, Winny等のピアツーピア

ファイル交換ソフトウェア

Page 284: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

284

電子透かし

• コンテンツのヘッダ等ではなくコンテンツ本体に情報を埋め込む

• コンテンツの品質をできるだけ劣化させず、コンテンツを編集・加工しても埋め込んだ情報が消えないことが望ましい

Page 285: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

285

情報の埋め込み・検出方法

• 人の知覚特性を利用し、人が知覚困難な範囲でディジタルデータを改変

– オリジナルデータと比較することで検出な方式

– 鍵を知るものだけが検出可能な方式

– 誰でも検出可能な方式

Page 286: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

286

電子透かしの用法

• 権利保有者の情報を埋め込む

– 不正使用を見つけた際に権利を主張

• 一次取得者の情報を埋め込む

– 不正使用を見つけた際に誰が「横流し」したのか確認できる

Page 287: Aida Lab, School of Engineering, The University of …aida/InternetEngineering.pdf24 パケット交換 • 電話網:回線交換 – 電話局が壊れると通信継続不能

287

期末試験について

• 試験範囲:講義内容全体

• 1冊に綴じた講義資料・ノートを(1冊のみ)

持ち込み可。