...

インターネット アーキテクチャ概論 - Japan Network Information Center

by user

on
Category: Documents
10

views

Report

Comments

Transcript

インターネット アーキテクチャ概論 - Japan Network Information Center
インターネット
アーキテクチャ概論
慶應義塾大学
村井 純
[email protected]
99/02/14
99/02/14
11
チュートリアルの目的
u
インターネットアーキテクチャを構成する
基幹技術を理解する
u
インターネットアーキテクチャの持つ特徴
を理解する
99/02/14
99/02/14
22
キーワード
u
u
u
u
u
u
u
u
Best Effort
Scalability
Security
Operation
Autonomy
Distributed
Exponential Growth
End System
99/02/14
99/02/14
33
AGENDA
u
u
u
u
u
u
はじめに
インターネットのコア技術
インターネットの運用技術
通信媒体とインターネットアーキテクチャ
環境適応のための技術
アプリケーションアーキテクチャ
99/02/14
99/02/14
44
はじめに
99/02/14
99/02/14
55
OSIの7階層モデル
u
u
u
u
プロトコル設計のものさし
わかりやすい機能の分離と独立性
エンドシステムの n層同士が通信を行っているつもり
中間システムは1∼3層でリレーするだけ
アプリケーション
アプリケーション
プレゼンテーション
プレゼンテーション
セッション
セッション
トランスポート
トランスポート
ネットワーク
ネットワーク
ネットワーク
データリンク
データリンク
データリンク
物理
物理
物理
99/02/14
99/02/14
66
OSI各層の役割(1)
u
物理層(第1層)
Ø
u
データリンク層(第2層)
Ø
u
物理メディアへの直接接続の提供
宛先のシステムまでのパスのうちの隣接す
るシステムとの間の情報の流れを制御
ネットワーク層(第3層)
Ø
99/02/14
99/02/14
エンドシステム間のコネクションの確立
77
OSI各層の役割(2)
u
トランスポート層(第4層)
Ø
u
セッション層(第5層)
Ø
99/02/14
99/02/14
スループットと信頼性について、上位層に
サービス品質を保証
システム間の対話に使われる枠組みの確
立に対する責任
88
OSI各層の役割(3)
u
プレゼンテーション層(第6層)
Ø
u
転送される情報の表現の共通化
アプリケーション層(第7層)
Ø
99/02/14
99/02/14
ユーザプロセスに通信環境へのアクセスを
提供
99
階層型プロトコル
u
u
送信側:各層がそれぞれの情報を付加し
て下層へ渡す
受信側:各層がそれぞれの情報を取り除
いて上層へ渡す
届けたいデータ
プロトコルのオーバーヘッド
各層用の情報
99/02/14
99/02/14
10
10
OSIモデルと
インターネットアーキテクチャ
アプリケーション
プレゼンテーション
アプリケーション
セッション
トランスポート
99/02/14
99/02/14
TCP
UDP
ネットワーク
IP
データリンク
Network Interface
物理
物理
11
11
通信形態
u
バーチャルサーキット型
Ø
Ø
u
データグラム型
Ø
Ø
99/02/14
99/02/14
仮想的なパイプを通した転送
コネクション型
データを小分けにし、バラバラに転送
コネクションレス型
12
12
VC型 vs DG型
u
バーチャルサーキット
Ø
Ø
Ø
Ø
Ø
Ø
99/02/14
99/02/14
信頼性
順序保証
フロー制御
輻輳制御
再送
重量課金
u
データグラム
Ø
Ø
Ø
Ø
Ø
Ø
信頼性保証せず
順序保証せず
フロー制御なし
輻輳制御なし
再送なし
固定課金
13
13
VC型 vs DG型
u
VC の手順 (例:FAX)
Ø
Ø
Ø
u
u
あて先を指定し、
まず接続
接続を確認してから
データを転送
転送が終わったら
接続を切断
送信順に相手に届く
信頼性があるが、オ
ーバヘッドが大きく処
理能力が必要
99/02/14
99/02/14
u
DGの手順 (例:はがき)
Ø
u
u
あて先を指定してポスト
に投函
投函した順には届かない
信頼性はないが、オーバ
ヘッドが少なく、処理能
力を要求しない
14
14
回線交換方式
B
A
99/02/14
99/02/14
A∼Cへの通信
Bは回線交換を行う
電話の交換機
C
15
15
パケット交換方式
B
A
A∼Cへの通信
データはパケットに分割
Bはパケット交換を行う
99/02/14
99/02/14
C
16
16
インターネットのコア技術
99/02/14
99/02/14
17
17
ネットワークプロトコル
u
ネットワーク層
Ø
u
IP - Internet Protocol
トランスポート層
Ø
TCP - Transport Control Protocol
アプリケーション
TCP
アプリケーション
UDP
TCP
UDP
IP
IP
IP
Network Interface
Network Interface
Network Interface
物理
物理
物理
99/02/14
99/02/14
18
18
IPの機能
u
ホストの識別
Ø
u
経路の決定
Ø
u
バケツリレー方式
データの分割
Ø
99/02/14
99/02/14
IPアドレスの一部から経路を決定
データの中継
Ø
u
32bit の識別子 −IPアドレス
一度に送れないデータを分割、再構成
19
19
IPアドレス
u
u
32bitのアドレス空間(IPv4の場合)
TCP/IPネットワークに接続するためのID
Ø
Ø
Ø
u
世界中で唯一自分を証明するためのもの
重複してはいけない
自分と相手を認識する
構造化されたアドレス
Ø
Ø
Ø
99/02/14
99/02/14
ネットワークを表すネットワークアドレスとホ
ストを表すホストアドレスから成り立つ
ネットマスクによる柔軟な構造
ネットワーク部から経路を決定
20
20
IPアドレスとネットマスク
32bit
IPアドレス
10111011101010110011010 110011010
32bit
ネットマスク
11111111111111111111111 000000000
23bit
32bit
ネット部
10111011101010110011010 000000000
23bit
32bit
ホスト部
99/02/14
99/02/14
00000000000000000000000 110011010
23bit
21
21
IPの特徴
u
データグラム型の通信
Ø
Ø
u
信頼性のない通信を提供
仕組みが単純
Best Effort (最善努力型)
Ø
Ø
Ø
99/02/14
99/02/14
中間ノードに一度に処理できない数のパケットが
集まると待ち行列(queue)が発生(混雑の発生)し、
限界を超えると破棄
エラーの訂正は行わないが、エラーの報告は行う
ICMP - Internet Control Message Protocol
22
22
IPの仕事の流れ
ネットワークインターフェースから
ネットワークインターフェースから
データを受け取る
データを受け取る
次に誰に渡せばよいか判断
次に誰に渡せばよいか判断
次に渡すために
次に渡すために
適切なネットワーク
適切なネットワーク
インターフェースに渡す
インターフェースに渡す
99/02/14
99/02/14
NO
NO
あて先は自分あて?
あて先は自分あて?
YES
YES
あて先のポート番号を見て
あて先のポート番号を見て
上位層へ渡す
上位層へ渡す
23
23
IPヘッダ
u
データグラムの配送に必要な情報を含む
Ø
Ø
Ø
u
送信者アドレス
受信者アドレス
データグラムの長さ etc....
一つ一つのデータグラムに付加される
Ø
99/02/14
99/02/14
Virtual Circuitではない
24
24
IPヘッダ (IPv4)
Ver
IHL
TOS
Total Length
Identification
TTL
Flg Fragment Offset
Protocol
Header Checksum
Source IP Address
Destination IP Address
Options
4 octets
99/02/14
99/02/14
25
25
IPヘッダ
u
Ver
Ø
u
バージョンフィール
ド - 現在は 4
IHL
Ø
u
u
ヘッダの長さ
4octet を 1 として
カウント
Ø
u
Type of Service
配送のタイプ
Ø
u
もともとのデータを識別
する
Fragmentation の際に
必要
flg (Flag)
Ø
99/02/14
99/02/14
IPデータグラム全体の
大きさ (1octetでカウン
ト)
Identification
Ø
TOS
Ø
Total Length
Fragmentされたか、
Fragmentしてはならな
26
いか
26
IPヘッダ
u
Fragment Offset
Ø
Ø
u
TTL (Time To Live)
Ø
Ø
Ø
u
元のデータのどこで
Fragmentか
8octets 単位で計られる
このデータグラムの寿命
基本的には1つのホスト
を経由すると1減る
初期値は64
Protocol
Ø
u
Header Checksum
Ø
Ø
u
Source Address
Ø
u
送信元ホストのアドレス
Destination Address
Ø
u
ヘッダ部分の検証
データが壊れていないか
送信先ホストのアドレス
Option
Ø
特別な機能を提供
上位層が何か
99/02/14
99/02/14
27
27
IPとエラー
u
エラー
Ø
Ø
Ø
u
IPとエラー訂正
Ø
Ø
Ø
99/02/14
99/02/14
データグラムの紛失
checksum の不一致
Fragment したデータの一部欠落
IPはエラーの訂正は行わない
送信者にエラーの報告を行う
エラー報告するのがICMP
28
28
ICMP
u
u
Internet Control Message Protocol
機能的には IPを補うもの
Ø
Ø
送信先への到達不能,フロー制御など
IPにかわってエラー報告する.
アプリケーション
TCP
IP
UDP
ICMP
Network Interface
物理
99/02/14
99/02/14
29
29
ICMPパケット
IPデータグラム
IPヘッダ(20byte)
ICMPタイプ
コード
ICMPメッセージ
チェックサム
ICMPデータ (任意の長さ.メッセージタイプに依存)
99/02/14
99/02/14
30
30
ICMPメッセージタイプ
u
u
u
u
u
u
u
エコー応答(Echo replay)
宛先到達不能(Destination Unreachable)
発信抑制(Source Quench)
ルート変更(Redirect)
エコー要求(Echo request)
Datagramの時間超過(Time exceed)
Datagramのパラメータ異常(Parameter
Problem)
99/02/14
99/02/14
31
31
ネットワーク層のまとめ
u
ネットワーク層だけでは,信頼性のある通
信を行うことはできない。
u
送信側と受信側とが応答確認する必要
性がある。.
99/02/14
99/02/14
32
32
インターネットと鉄道網
u
u
u
u
u
客(データ)は必ず目的駅(コンピュータ)に到達する
駅には乗換え駅(ゲートウェイ)と普通の駅がある
各路線(ネットワーク)は自律運用、かつ、相互協調
選択可能な経路、経路の選択は知的な作業
鉄道網の「オーナー」はいない
99/02/14
99/02/14
33
33
乗り換え駅
u
鉄道の路線と路線が交わるところ
Ø
例: 藤沢駅
Ø
Ø
Ø
u
JR東海道線
小田急江ノ島線
江ノ島電鉄
客の行き先で路線を選ばなくてはならない
Ø
例: 湘南台から品川
Ø
Ø
99/02/14
99/02/14
湘南台: 藤沢に行く
藤沢: 東海道線に乗り換え
34
34
経路制御とは
u
u
だれが? − 乗換駅(ルータ)
何を?- 最適な路線(経路)
Ø
Ø
行き先に応じて路線を判断
最適な路線を選ぶ
Ø
u
どうやって?
Ø
Ø
経路表を作成
経路に関する情報を交換し経路表を更新
Ø
99/02/14
99/02/14
事故の迂回・近い経路・速い経路
Ø
RIP
OSPF
35
35
経路制御
u
どの路線(経路)に乗せればいいか?
Ø
u
目的のホストがどの経路に接続してるか?
経路制御表
Ø
Ø
Ø
経路の選択、制御に用いる
どの路線にはどのホストが接続していると
いう情報(経路情報)をまとめた表
すべてのホストはまとめきれない
Ø
Ø
99/02/14
99/02/14
IPアドレスのネットワーク部
default という経路
36
36
経路表の例
nr60: {2} % netstat -rn
Routing tables
Internet:
Destination
Gateway
Flags Refs Use Interface
default
203.178.140.1
UG
7 35972 ef1
127
127.0.0.1
UR
0
0 lo0
127.0.0.1
127.0.0.1
UH
0
0 lo0
133.27.12.129
203.178.140.1
UGHc 1
120 ef1
133.27.171/24
203.178.140.1
UG
0
0 ef1
202.0.73
203.178.140.1
UG
0
0 ef1
202.0.73.96/27
203.178.140.1
UG
0
0 ef1
202.0.73.128/27
203.178.140.1
UG
0
0 ef1
202.0.73.236/30
203.178.140.1
UG
0
0 ef1
203.178.138.18/30 203.178.141.9
UG
0
0 ef0
203.178.139.64/27 203.178.140.1 UG
0
0 ef1
203.178.139.96/27 203.178.140.1 UG
0
0 ef1
203.178.139.128/27 203.178.140.1 UG
0
0 ef1
99/02/14
99/02/14
37
37
RIP
Routing Information Protocol
u
u
u
送信元と宛先との間で最適なルートを探す
送信元と宛先間の通過しなければならないネ
ットワークの数を単純にカウントする.
ホップ数の一番短いルートが最適ルート
Ø
u
遅延,不可,信頼などは考慮されていない.
最適経路の計算には簡単なコスト計算(三角
不等式)をもちいる.
99/02/14
99/02/14
38
38
OSPF
Open Shortest Path Find
u
u
u
サイト内のルータは同じデータベースを
共有する.
この情報を元に最短パスツリー(Shortest
Path Tree)を形成する.
ネットワークの変化に柔軟に対応できる
99/02/14
99/02/14
39
39
トランスポート層
u
u
u
マシンまで到達したデータをアプリケーションと結
び付ける
TCP
UDP
アプリケーション
TCP
UDP
IP
Network Interface
物理
99/02/14
99/02/14
40
40
ポート番号
u
u
ネットワーク層によるホストーホスト間の
データ配送
同一ホスト内でのアプリケーションの識別
Ø
u
アプリケーションの識別子
Ø
Ø
99/02/14
99/02/14
一つのホスト内でアプリケーションごとに割
り振りが必要
プロトコル(TCP・UDP)
ポート番号(プロトコルに固有)
41
41
ポート番号の例
www.sfc.wide.ad.jpのport 番号80番に接続
% telnet www.sfc.wide.ad.jp 80
Trying 203.178.140.3 ...
Connected to enterprise.sfc.wide.ad.jp.
Escape character is '^]'.
GET /index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>Tokuda, Murai, Kusumoto &amp; Nakamura Laboratory</TITLE>
<LINK REV=MADE HREF="mailto:[email protected]">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO2022-JP">
</HEAD>
<BODY BGCOLOR="#D6AF85">
99/02/14
99/02/14
42
42
/etc/services
#
# @(#)services 1.16 90/01/03 SMI
tcpmux 1/tcp
# rfc-1078
echo
7/tcp
echo 7/udp
discard
9/tcp
sink null
discard
9/udp
sink null
systat
11/tcp
users
daytime
13/tcp
daytime
13/udp
netstat
15/tcp
chargen
19/tcp
ttytst source
chargen
19/udp
ttytst source
20/tcp
ftp-data
ftp
21/tcp
telnet
23/tcp
smtp
25/tcp
mail
time
37/tcp
timserver
time
37/udp
timserver
99/02/14
99/02/14
43
43
ネットワーク層と
トランスポート層
u
u
トランスポート層でもヘッダを付ける
ネットワーク層ではトランスポート層 ヘ
ッダがついたデータにネットワーク層のヘ
ッダを付加する
5層以上
データ
4層
TCP ヘッダ
データ
3層
IPヘッダ TCP ヘッダ
データ
99/02/14
99/02/14
44
44
UDP
User Datagram Protocol
u
Datagram型通信の提供
Ø
IPはDatagram型の通信
Ø
Ø
トランスポート層はアプリケーションを識別
Ø
99/02/14
99/02/14
Datagram型通信のための新たな機能は必要無い
識別子があればOK
45
45
TCP
Transmission Control Protocol
u
u
データ転送に関する制御を行う
具体的には......
Ø
IPに信頼性を加える
Ø
Ø
Ø
Ø
Ø
99/02/14
99/02/14
Virtual Circuit型通信
エラー検出とエラー訂正
フロー制御
順序の再構成
データ転送に関するインターフェイスを提供
46
46
TCPヘッダ
Src Port
Dst Port
Sequence Number
Acknowledgement Number
Offset
Reserved
Flag
TCP Checksum
Option (if any)
Window Size
Urgent Pointer
Padding
Data
99/02/14
99/02/14
47
47
Flags CODE
u
u
FlagsはTCPがコネクション制御に利用
6つのflagsがある
Ø
Ø
Ø
Ø
Ø
Ø
99/02/14
99/02/14
URG: Urgent Pointerが有効
ACK: Acknowledge Numberが有効
PSH: セグメントをすぐに上位層へ渡す
RST: エラーによる強制的なクローズ
SYN: コネクションセットアップの同期をとる
FIN: コネクションを終了する
48
48
TCPの状態遷移図
CLOSED
Passive Open
Active Open
LISTEN
SYN_SENT
SYN_RCVD
ESTABLISHED
99/02/14
99/02/14
49
49
コネクション開始
送信側
SEQ=812
受信側
SYN SEQ=812 No ACK
SEQ=123
SYN SEQ=123 ACK=813
SEQ=813
ACK=124
SEQ=123
SEQ=813 ACK=124
ACK=813
99/02/14
99/02/14
50
50
3way Handshake
u
99/02/14
99/02/14
コネクションのセットアップ
Ø ホスト1、ホスト2間で
Ø ホスト1はSYN Flagのついたパケットを送る
Ø SYNを受けたホスト2は相手との同期を取るた
めにSYN Flagのついたパケットを送る。この時
いっしょに受け取ったSYNに対するACK Flagも
つける
Ø ホスト2からSYNを受け取ったホスト1はACKを
返す
Ø SYN と ACKが相乗り
Ø Piggy Back
51
51
コネクションの終了
u
u
コネクションの終了はFIN Flagによって行う
コネクションの終了は一方ごとにできる
FIN SEQ=457
SEQ=789 ACK=458
FIN SEQ=790
SEQ=458 ACK=791
99/02/14
99/02/14
52
52
データの転送
u
u
u
Sequence NumberとAcknowledge Numberによって、デ
ータの順番を保証
ACKが帰ってきたら次のデータを送る
ACKが帰ってこなかったら前のデータを再転送
SEQ=231 DATA
SEQ=456 ACK=232
SEQ=232 DATA
99/02/14
99/02/14
53
53
データ転送(続き)
u
u
u
u
99/02/14
99/02/14
いちいちACKを待つと効率が悪い
推測を元にある程度先送りした方が良い
だが、先送りしすぎるとACKがなかなか帰って
こない
幅を決めなければならない
54
54
フロー制御
u
フロー制御とは?
Ø
Ø
u
フロー制御のための機構
Ø
u
相手の受信能力にあわせた送信
ネットワークの状態にあわせた送信
ウィンドウ方式
ウィンドウサイズの決定
Ø
Ø
Ø
99/02/14
99/02/14
受信側が自分の能力にあわせて決定
送信側がネットワークの状態を判断して決定
最適値 = 通信経路の帯域 * RTT
55
55
ウィンドウコントロール
u
u
4
99/02/14
99/02/14
先送りする幅を決める仕組み
送るパケットを制限する
SEQ=238
SEQ=270
SEQ=302
SEQ=334
ACK=335
4
56
56
ウィンドウサイズ制御
u
通信開始時のウィンドウサイズ制御
Ø
Ø
u
スロースタート
ACK毎にサイズを +1
輻輳回避時のウィンドウサイズ制御
Ø
99/02/14
99/02/14
ACK毎ににサイズを “1/輻輳ウィンドウ“づ
つ増加
57
57
スロー・スタート
u
u
u
u
u
99/02/14
99/02/14
ネットワークに送り出されるパケットの通信速度
を他方のエンドから返される確認応答の通信速
度を同期させるためのもの
送り手のTCPに別のウィンドウを追加する。
Ø 輻輳ウィンドウ(cwnd)
新しいコネクションが確立
輻輳ウィンドウをセグメント1つに初期化
ACKが受け取られるたびに、輻輳ウィンドウは1
セグメントずつ増やされる
58
58
スロー・スタート
animation
cwnd=1
1
1:513(512)ack1, win4096
ack513, win8192
cwnd=2
3
4
cwnd=4
cwnd=5
99/02/14
99/02/14
513:1025(512)ack1, win4096
1025:1537(512)ack1, win4096
ack1025, win8192
cwnd=3
2
6
1537:2049(512)ack1, win4096
7
2049:2561(512)ack1, win4096
5
ack1537, win8192
8
ack2049, win8192
9
59
59
TCP-輻輳制御
u
輻輳とは?
Ø
Ø
中間ノードにキューができ通信に遅延が生
じた状態
判断基準
Ø
u
パケット喪失が発生
輻輳回避のストラテジ
Ø
Ø
99/02/14
99/02/14
輻輳を検出したらウィンドウサイズを小さく
ネットワークに負荷をあたえずすみやかに
最適なウィンドウサイズへ回復
60
60
輻輳への対応策
u
喪失パケットの再送ストラテジ
Ø
Ø
u
Fast Retransmit
1パケット喪失/1ウインドウの場合に適用
輻輳後の転送レートの回復ストラテジ
Ø
Ø
99/02/14
99/02/14
Fast Recovery
輻輳から速やかに回復する
61
61
Fast Retransmit
u
DUP ACKが3つ来た場合に適用
Ø
u
すぐにパケットを再送する
さらに DUP ACKがくる場合
Ø
1パケット喪失した後に、さらにパケットが到
着していると推測
Ø
Ø
u
輻輳ウインドウを一旦増加
新しいセグメントを送出する
新しいACKがきたら
Ø
輻輳の終了とみなす
Ø
99/02/14
99/02/14
Fast Retransmitの成功
62
62
Fast Recovery
u
Fast Retransmitが成功した場合
Ø
Ø
Ø
99/02/14
99/02/14
輻輳は深刻なものではなかったと推測
速やかにウインドウを回復
スロースタート段階に入らず、いきなり輻輳
回避段階へ
63
63
TCP通信モデル
u
u
u
99/02/14
99/02/14
ウインドウサイズの変化
スロースタートを経て平衡状態へ
平衡状態ー一定間隔でパケットロス
64
64
インターネットの運用技術
99/02/14
99/02/14
65
65
運用技術
u
u
u
u
99/02/14
99/02/14
DNS
DHCP
品質保証
セキュリティ技術
66
66
名前とIPアドレス
u
コンピュータは数字を扱う方が得意
Ø
u
人間は数字を扱うのは得意ではない
Ø
u
コンピュータはアドレスが分ればOK
数字より名前の方が扱いやすい
名前
Ø
Ø
ホストの名前 (例: mail0 )
組織の名前 (例: sfc.keio.ac.jp)
DNS
Domain Name System
u
ホスト名 (例: mail0.sfc.keio.ac.jp) とIPアドレス(
例: 133.200.113.5) のマッピングを管理
Ø
Ø
Ø
Ø
Ø
Ø
ホスト名とIPアドレスの分散データベース
世界中の全ホストに関する情報を持つ
世界住のどこからでも検索可能
階層化されたマスター情報の管理
サーバ:データの形式と答え方
クライアント:問い合わせ先の情報と問い合わせ方
DNSの構造
jp
ad
wide
edu
ac
keio
sfc
cmu stanford
jaist
mag
cs
leland
sr
DHCP
u
u
u
Dynamic Host Configuration Protocol
RFC2131
主に動的に接続するホストを自動構成す
るためのプロトコル
DHCP
DHCP Server
Server
Network
Network
接続希望
接続希望
DHCPDISCOVER
DHCPDISCOVER
DHCPOFFER
DHCPOFFER
DHCP
DHCP Client
Client
DHCPREQUEST
DHCPREQUEST
99/02/14
99/02/14
DHCPACK
DHCPACK
ネットワークアドレスなどを通知
ネットワークアドレスなどを通知
70
70
QoS
Quality of Service
u
Quality
Ø
Ø
Ø
u
99/02/14
99/02/14
到達性の保証
帯域の保証
遅延の保証
優先度に応じた制御
71
71
知性は外側へ
エンドシステム志向
エッジシステム志向
エンド
Core
routers
Core
routers
エッジ
99/02/14
99/02/14
エンド
エッジ
72
72
輻輳制御ルール1:返事で判断
返事が早い→空いてる→沢山送る
99/02/14
99/02/14
73
73
輻輳制御ルール2:混んだら小さく
返事が遅い→混んでる→少し送る
99/02/14
99/02/14
74
74
輻輳制御ルール2:混んだら小さく
返事が無い→混んでる→少し送る
99/02/14
99/02/14
75
75
輻輳制御ルール3:空いても急ぐな
返事が早い→空いてる→ゆっくり送る
99/02/14
99/02/14
76
76
インターネットが遅い原因
u
返事が遅い
Ø
Ø
u
相手がのろい
途中がのろい
相手がのろい場合
Ø
相手が過負荷
Ø
Ø
u
アクセスが多すぎる
力がなさ過ぎる
途中がのろい場合
Ø
99/02/14
99/02/14
どこかの待ち行列であふれている
77
77
インターネットが遅い原因
u
返事が遅い
Ø
Ø
u
相手がのろい
途中がのろい
相手がのろい場合
Ø
相手が過負荷
Ø
Ø
u
アクセスが多すぎる
力がなさ過ぎる
途中がのろい場合
Ø
99/02/14
99/02/14
どこかの待ち行列であふれている
78
78
Differentiated Service
u
今までのインターネット
Ø
ベストエフォート
Ø
Ø
u
サービス保証システム
Ø
Ø
u
届くように努力する
コアシステムに負荷が無い
契約したサービスを保証する
コアシステムの負荷が大きい
これからのインターネット
Ø
Ø
99/02/14
99/02/14
ベストエフォート+DiffServe
コアシステムに負荷をかけずに優先度のあ
るサービスを提供する
79
79
Random Early Detection
(RED)
Explicit Congestion Notification
(ECN)
ここまでつまったら‥
ここまでつまったら‥
u
u
いくつか捨てる
いくつかマークする
エンドシステムが気がつく
Ø ペースダウンする
99/02/14
99/02/14
Ø
80
80
プライオリティサービス
優先度に応じて捨てちゃえ!
99/02/14
99/02/14
81
81
輻輳制御ルール2:混んだら小さく
返事が無い→混んでる→少し送る
99/02/14
99/02/14
82
82
プレミアムサービス
優先度に応じた別の待ち行列
99/02/14
99/02/14
83
83
RED
Random Early Detection
u
u
ルータの負荷が増大したときに,優先度
の低いトラフィックを意図的に遅らせるこ
とで輻輳の発生を軽減し、優先度の高い
トラフィックの優先的到達を保証する技術
待ち行列の中にあるパケットを優先順位
に基づきにマークもしくは落とす
99/02/14
99/02/14
84
84
セキュリティ
u
公開鍵暗号系を用いた認証に基づくセキ
ュリティの確保
99/02/14
99/02/14
85
85
通信媒体とインターネット
アーキテクチャ
99/02/14
99/02/14
86
86
通信媒体技術
u
広域系
Ø
Ø
Ø
Ø
Ø
Ø
衛星
Cable TV
xDSL
SONET
WDM
ISDN
u
LAN系
Ø
Ø
Ø
Ø
Ø
Ø
Ø
99/02/14
99/02/14
10baseT
100baseT
Gigabit
Wireless
HUB
Switch
FDDI
87
87
帯域が異なる媒体の混在
u
フラグメントをさける技術
Ø
u
ボトルネック
Ø
99/02/14
99/02/14
PathMTU
Packat Pair
88
88
遅延の大きく高速な
通信媒体の混在
u
99/02/14
99/02/14
輻輳制御の副作用で利用効率が悪化
89
89
片方向の通信媒体の混在
u
99/02/14
99/02/14
UDLRなどを用いた有効利用が必要
90
90
Satellite for Internet
N-STAR
JCSAT
30Mbps
SOHO
FIL
TX
MOD
♦ MPEG2
♦ Multicast
♦ Unicast
Home
Local Office
NOC
(Network Operation Center)
TX Server Information Server
Proxy Server
64kbps
ISDN
MUX
Encoder
Router
Authentication Server
28.8k
bps
Router
Internet
Router
99/02/14
99/02/14
Head
Office
91
91
環境適応のための技術
99/02/14
99/02/14
92
92
適応のための技術
u
SOHO
Ø
u
NAT/Masquerade
Ø
Mobile-IP
IP トンネル
非対称通信
Ø
UDLR
Security
Ø
モバイル
Ø
u
u
Ø
Ø
u
アドレス枯渇
Ø
u
Firewall
Application
Gateway
VPN
CIDR
経路情報の氾濫
Ø
IGP+BGP
本来アーキテクチャはどう対応すべきか?
本来アーキテクチャはどう対応すべきか?
99/02/14
99/02/14
93
93
NAT・Masquerade
99/02/14
99/02/14
94
94
Mobile IP
u
u
RFC2002
Mobile Node:
Ø
u
Home Agent:
Ø
u
移動先での移動ノードの管理
Care-of Address:
Ø
99/02/14
99/02/14
移動ノードの位置を管理
Foreign Agent:
Ø
u
移動ノード
IP tunnelingの移動先での端点
95
95
Mobile IP
移動の通知
トンネルの確立
MN
FAの発見
FA
HA
CN
99/02/14
99/02/14
96
96
経路の集約(aggregation)
u
u
u
各ノードが持つ経路情報はホストの数だ
け存在する.
ホストが増えるにつれて,経路情報も増
大.
このままでは破綻してしまうので,経路情
報の階層化,経路情報の圧縮をおこなう
.
99/02/14
99/02/14
97
97
経路の集約その2
ルータ2
ルータ1
203.178.140.0/27
ルータ3
203.178.140.32/27
203.178.140.64/27
経路の集約
203.178.140.0/24
集約した経路を流す
99/02/14
99/02/14
98
98
CIDR
Classless Internet Domain Routing
u
u
複数のIPアドレスをより少ない数のルー
ティングテーブルに集約する
例
Ø
99/02/14
99/02/14
インターネット上で異なる8個所に割り当て
られているネットワークのアドレスを集約化
して1つのルーティング・テーブル・エントリ
として扱う
99
99
AS - Autonomous System
u
u
u
さまざまなネットワークが相互接続してい
る状況では通信を行う経路は複数存在
どの経路を選ぶかは,ネットワークを運営
する組織のポリシーによる.
経路情報を一定のグループにまとめて扱
うことができるようにASという概念を導入
.
99/02/14
99/02/14
100
100
IGPとEGP
u
u
u
経路制御プロトコルには,スケールする
限界がある.
おもにAS内でもちいるプロトコルを
IGP(Interior Gateway Protocol)という.
ASとASとの間の経路情報交換などを想
定してるつくられている経路制御プロトコ
ルをEGP(Exterior Gateway Protocol)
99/02/14
99/02/14
101
101
ASとルーティング
AS1
IGP
EGP
AS2
代表的なAS番号
ASN-WIDE 2500
OCN
99/02/14
99/02/14
4717
102
102
EGP
Exterior Gateway Protocol
u
u
ASとASとの間でのネットワーク到達情報
を伝達するプロトコルの総称.
EGP,BGP(Border Gateway Protocol)
BGP2,BGP3とへて現在はBGP4がもちい
られている.
99/02/14
99/02/14
103
103
Packet Filtering Firewall
内部ネットワーク
×
フィルタリング・ゲートウェイ
(外部から直接内部にアクセ
スする通信をブロックする)
The Internet
外部ゲートウェイ
(全てを通過させる)
出島
(アクセスコントロールをこのゲー
トウェイに集約。攻撃の発見のた
めにモニタリングも実施)
Application Gateway
内部ネットワーク
?
The Internet
アプリケーション・ゲートウェイ
外部からはこのマシンのみが見える
外部アプリケーションはこのマシンに接続。
プロキシ的な役割
99/02/14
99/02/14
105
105
VPN
u
u
Virtual Private Network
プライベートネットワーク間でパケットをカ
プセル化してインターネット上を配送
Private
Private
Internet
99/02/14
99/02/14
106
106
アプリケーション
アーキテクチャ
99/02/14
99/02/14
107
107
アプリケーション
アーキテクチャ
u
u
Client - Server モデル
WWW
Ø
Ø
Ø
Ø
u
99/02/14
99/02/14
キャッシュ
Proxy
Java
CGI vs Java
SLP
108
108
クライアント・サーバモデル
u
通信相手とのタイミング
Ø
2つのプログラムのコミュニケーション
2つが非同期だとうまく通信できない
Ø
一方が待ち受けし続け、一方がリクエストを送る
→ クライアント・サーバモデル
Ø
u
クライアント
Ø
u
能動的にサービス提供を促す側
サーバ
Ø
受動的にサービス提供する側
クライアント・サーバ
u
クライアントとサーバの役割分担
クライアント
Ø
Ø
通信を開始するアプリケーション
サーバ
Ø
Ø
クライアントからの要求を待ち受けるアプリケーション
Client
メッセージの流れ
要求
時 間
応答
Server
処理
クライアント・サーバの例
u
サーバ(サービスを提供する側)
Ø
Ø
Ø
u
finger サーバ (fingerd)
WWWサーバ (httpd)
体育予約サーバ
クライアント(サービスを受ける側)
Ø
Ø
Ø
finger クライアント (finger)
WWWクライアント (Netscape)
体育予約クライアント
アプリケーションの識別
UDP
TCP
アプリ
ネットワーク層
プロトコル
ホスト内のアプリ
ケーションを識別
ポート番号
インターネット内の
IPアドレス
ホストを識別
データリンク層
同一ネットワーク内の
MACアドレス
ホストを識別
25
80
1024
トランスポート層
ホストA
99/02/14
99/02/14
アプリ
アプリ
ホストB
112
112
WWWの仕組み
u
クライアントサーバモデル
Ø
クライアント
Ø
Ø
Ø
サーバ
Ø
Ø
u
Webブラウザ
情報の獲得・表示を行う
Webサーバ(httpd)
リクエストされた文書(ドキュメント)を送る
URL
Ø
Ø
Uniformed Resource Locator
リソース(情報)の取り方と場所を一意に表記
http://www.nic.ad.jp/iw97/index.html
入手方法(プロトコル)
99/02/14
99/02/14
サービスしているサーバ
サーバ内の場所
(フォルダ・ファイル名)
113
113
WWWの仕組み
u
Proxy サーバ
Ø
中間で両方の代理として動作
Ø
Ø
Ø
様々な利用方法
Ø
Ø
u
キャッシュ
セキュリティ
HTTP
Ø
Ø
Ø
Hyper Text Transfer Protocol
TCPを用いた通信
様々な種類のリソースを転送
Ø
Ø
Ø
99/02/14
99/02/14
クライアントの代わりにサーバにアクセス
サーバの代わりのクライアントに情報を提供
Ø
HTML文書
plain Text
GIF画像 etc…
単純なプロトコル
Ø
数種類のRequest Method
GET/PUT/POST…
114
114
WWW
インターネット
99/02/14
99/02/14
115
115
CGI
u
動的なContentsを作るための仕組み
Ø
Ø
プログラムインターフェイス
決められた方式でクライアント側からの情報を渡す
Ø
Ø
動作する言語は考慮しない
Ø
99/02/14
99/02/14
2種類のMethod
Ø XXX
Ø 環境変数
なんでもOK
116
116
サーバとクライアントの関係
IPアドレス
ポート番号
要求
クライアント
返答
WWWサーバ
99/02/14
99/02/14
117
117
プログラム実行とその権限
Java
クライアント
Java Applet
サーバ
プログラム
プログラム
OS
OS
プログラム権限
インターフェイス
インターフェイス
プラットフォーム
CGI
クライアント
プログラム
プラットフォーム
CGIリクエスト
実行 結果
サーバ
プログラム
インターフェイス
インターフェイス
OS
OS
プラットフォーム
99/02/14
99/02/14
プラットフォーム
118
118
プログラム実行とその権限
ActiveX
クライアント
プログラム
インターフェイス
OS
プラットフォーム
99/02/14
99/02/14
HTTPリクエスト
ActiveX情報
どのタイプ
サーバ
プログラム
インターフェイス
OS
プラットフォーム
119
119
Java
u
プラットフォームを意識しない
Ø
u
ネットワークを介した環境を考慮
Ø
Ø
u
プログラムのダウンロード
実行ホストへのセキュリティ対策
WWWのContentsとして普及
Ø
99/02/14
99/02/14
Java VM
クライアント側で実行
120
120
Java
ネットワーク上の動作
Java
これを実行してね
URL
プログラムを頂戴
99/02/14
99/02/14
WWWサーバ
121
121
Java
動作概要
サービス
を要求
Java
プログラム
Java VM
ローカルの資源に
アクセス
プラットフォーム
99/02/14
99/02/14
122
122
Service Location Protocol
as of Atlanta Olympic 1996
JAPAN
US 1
US 2
UK
Germany
Internet
99/02/14
99/02/14
123
123
Fly UP