インターネット技術の概要と課題

Download Report

Transcript インターネット技術の概要と課題

インターネット技術の概要と課題
佐野 晋
ネットワークス開発研究所
NECネットワークス
2000年5月19日
インターネットとは

世界最大のコンピュータネットワーク


世界最大の情報ネットワーク



推定 8000万ホスト
メール,ニュース
WWW
TCP/IP技術を用いたコンピュータネットワーク


イントラネット
エクストラネット
S.Sano, 2000・5
2
3
歴史
www.isoc.org/internet/history/brief.html
S.Sano, 2000・5
4
成長-ホスト数
S.Sano, 2000・5
www.isc.org/ds/hosts.html
インターネットの秘密

ふたつの革新



技術的な革新
文化における革新
ふたつのポリシ


協調分散指向
現実主義
S.Sano, 2000・5
5
インターネット技術のキーワード

ベストエフォート(最善努力)



スケーラビリティ (拡大性)



全世界が対象
指数的な増加に対応
運用性


個々が全体で最適になるように
保証しない
動くこと,運用できること
自律分散管理
個々が他と連携しながら動く
反) 集中管理

S.Sano, 2000・5
6
インターネット技術のキーワード

資源の共有
帯域の共有
反)占有


動的適応

個々が状況をみながら動的に対応
 データ再送時間の決定
S.Sano, 2000・5
7
帯域確保と最善努力方式

帯域確保 - 全体の効率より,個々の要求を

最善努力方式 - 個々に頑張り,全体の効率を
S.Sano, 2000・5
8
9
エンドシステム,コアシステム
エンドシステム
エッジシステム
コアシステム
S.Sano, 2000・5
インターネット技術のキーワード

コアーシステムはシンプルに



コアシステムは処理が集中する傾向
難しい仕事はエンドシステムへ分散
 フロー制御
 輻輳制御
 セキュリティ
エンド間での制御
S.Sano, 2000・5
10
標準化

国際標準 (international stanard)



母体: 政府,通信事業者(=電話会社)
標準化プロフェッショナル
 実装より標準に重き
 標準が技術水準(要求)に追いつかない
業界標準 (de fact standard,事実上の標準)


母体: ユ-ザとメ-カ
実装プロフェッショナル
 標準より実装に重き
S.Sano, 2000・5
11
インターネット標準

IETF - Internet Engineering Task Force


インターネット技術検討部会
インターネット技術標準を検討するオープンな国際会議
http://www.ietf.org/
S.Sano, 2000・5
12
RFC - Request for Comments


13
インターネットの技術標準や関連情報をまとめた文
書シリーズ
オンラインで入手可能
http://www.ietf.org/rfc/
http://www.rfc-editor.org/
S.Sano, 2000・5
IETFのスローガン
We reject Kings, presidents, and voting.
We believe in rough consensus and running code.
-Dave Clark (1992)
我々は国王も大統領も投票も拒絶する.
信じるのは,大まかな合意と動くコードだ
デーブ クラーク 1992
S.Sano, 2000・5
14
RFCの特徴

IETFでのオープンな議論




インターネットドラフトとして公開
標準化トラック
実装の要求
セキュリティ項目
S.Sano, 2000・5
15
16
標準化プロセス
Internet Draft
1)複数の実装とテスト
Proposed Standard
Experimental
2)6ヶ月
3)広範囲なテスト
Draft Standard
4)4ヶ月
5)STD番号割り当て
Standard
Historic
S.Sano, 2000・5
Informational
TCP/IPとインターネットの構成
18
TCP/IP

TCPとIPを中心にしたプロトコルスタック
各種アプリケーションプロトコル
伝送制御プロトコル(TCP)および
ユーザデータグラムプロトコル(UDP)
インターネット・プロトコル(IP)
各種データリンクプロトコル
各種物理プロトコル
S.Sano, 2000・5
インターネットは

複数の異なったネットワークを相互に接続



19
論理的に一つのネットワークに見せる技術
一つのネットワークアーキテクチャでは構成できないネッ
トワークを構成
 地球規模での広域性
 低速から高速まで
 スケーラビリティ
ポイントはIPとIPアドレス

IPアドレスという論理アドレスによって,インターネット上
のノードを識別
S.Sano, 2000・5
インターネット
20
IPアドレスの付く所
S.Sano, 2000・5
21
簡単なインターネット
R
R
専用線
R
インターネット
R
FDDI
ISDN
ATM
IPアドレスの付く所
S.Sano, 2000・5
22
個別のネットワークアーキテクチャ
速度
HIPPI
(bps)
ATM
IEEE1394
100M
FDDI
Ethernet
10M
専用線
Bluetooth
1M
ISDN
Bluetooth
100k
IrDA
10k
10c
PDC/PHS
RS232C
1
10
100
1k
100k
距離
(m)
S.Sano, 2000・5
23
中心はインターネットプロトコル(IP)

異なったメディアを統合して論理的なネットワークに


IPアドレス
経路制御
APP
TCP
IP
Link
S.Sano, 2000・5
APP
TCP
IP
Link
Link
IP
Link
ネットワーク間接続

ルータで

専用線で

ネットワークで
S.Sano, 2000・5
24
25
ネットワーク接続装置
ネットワーク
アプリケーション層
ネットワーク間
接続装置
ネットワーク
ゲートウエイ
アプリケーション層
トランスポート層
トランスポート層
ネットワーク層
ルータ
ネットワーク層
リンク層
スイッチ
リンク層
物理層
リピータ
物理層
S.Sano, 2000・5
26
インターネットの構成

ISP(Internet Service Provider)の相互接続
情報提供
サービス
ユーザ
ユーザ
パソコン
通信業者
ユーザ
ユーザ
ユーザ
ISP
ISP
ISP
ユーザ
ISP
他ネット
IX
ユーザ
S.Sano, 2000・5
uucp
OSI
Fax,...
ISP
ISP
ユーザ
ゲートウエイ
ISP: Internet Service Provider
IX: Internet Exchange
ISP間接続

個別接続
private peering

相互接続点
exchange point

バックボーンネットワーク
S.Sano, 2000・5
27
28
ISPの構成

地域ごとのアクセスポイント運用


または,POP(Point of Presence)
NOC(Network Operation Center) とも
サービスマシンの運用


DNS(ドメインネームシステム)
電子メイル,ニュース
ユーザ
POP
他ISP
ユーザ
POP
ユーザ
ユーザ
POP
ユーザ
POP
ユーザ
S.Sano, 2000・5
POP
ユーザ
ユーザ
29
接続形態
インターネットサービスプロバイダ(ISP)
アクセスポイント
サーバ
他ISP
R
他アクセス
ポイント
R
R
電話網
ISDN
R
専用線
R
R
M
ユーザ
S.Sano, 2000・5
ユーザ
ユーザ
輻輳制御
TCP
自律分散,ベストエフォート
動的適応
31
輻輳,輻輳制御

輻輳(congestion)

送達パケット数

ネットワーク上に過度のトラフィックが存在している状態
パケット喪失,性能の急激な劣化が発生
最大回線容量
望ましい状態
輻輳状態
送信パケット数
S.Sano, 2000・5
フロー制御

受信者の都合で送信するデータ流量を調整




受信側の処理が間に合わないとき
受信側の処理が一時停止しているとき
受信側のバッファが一杯のとき
:
S.Sano, 2000・5
32
リンク毎の制御,エンド間での制御
リンク毎の制御 (link by link)
エンド間での制御 (end-to-end)
S.Sano, 2000・5
33
エンドシステム,コアシステム
34
エンドシステム
エッジシステム
コアシステム
S.Sano, 2000・5
インターネットの原理

コアシステムはシンプルに



コアシステムは処理が集中
難しい仕事は個々のエンドシステムへ
例



輻輳制御
フロー制御
エンドシステム同士で対応
S.Sano, 2000・5
35
36
ルータの構成
ルータ
net1
dest mask if
転
送
機
能
input queue
net2
output queue
経路表
net3
S.Sano, 2000・5
37
出力キューと溢れ

輻輳のほとんどは出力キューが溢れること
最大長
net
output queue

キューの大きさをむやみに大きくしてはいけない
 ルータのリソースは有限
 大きな遅延が発生

どのように溢れさせるか(捨てるか)がポイント
S.Sano, 2000・5
TCPが輻輳制御を担当

TCP TransmissionControl Protocol


TCPはパケットの欠落を観測し輻輳と判断



トランスポート層に対応
輻輳がおきるとウインドウサイズを半分に
スロースタートで回復
 輻輳ウィンドウの大きさを1から始めて倍ずつ増やす
 元の大きさの半分になったら1つずつ増やす
エンドシステムたちがそれぞれ判断

自律分散,ベストエフォート
S.Sano, 2000・5
38
39
再転送付き ACK

セグメントごとに ACK (到達確認)を要求
送信者
受信者
セグメント 1
ACK 1
セグメント 2
ACK 2
セグメント 3
ACK 3
S.Sano, 2000・5
40
再転送付き ACK(2)
送信者
受信者
紛失
セグメント 1
セグメント 1
再送
ACK 1
セグメント 2
紛失,遅延
セグメント 2
再送
S.Sano, 2000・5
ACK 2
ACK 2
41
スライディングウィンドウ

基本は「セグメント一つ送信して ACK を待つ」




でも効率が悪い
ネットワーク内ををセグメントで埋める
確認応答を待たずに,送信して良いバイト列の集合
複数のセグメントの確認応答をまとめることも可能
送信者
受信者
セグメント 1
遅延
ACK 1
セグメント 2
遅延
S.Sano, 2000・5
ACK 2
42
スライディングウィンドウ(2)
送信者
セグメント 1
セグメント 2
セグメント 3
受信者
ACK 1
ACK 2
ACK 3
セグメント 1
セグメント 2
セグメント 3
ACK 1,2,3
S.Sano, 2000・5
スライディングウィンドウ(3)

ウィンドウの左側


ACK 受信済み
ウィンドウの右側


43
未送信
ウィンドウ中


送信済み
ウィンドウの一番左のセグメントの ACK を受信したら,ウィンド
ウが左に移動
2 3 4 5 6 7
S.Sano, 2000・5
ウィンドウ通知


ウィンドウは,可変長
大きさは受信側が決定権をもつ


ネットワークの状況でサイズが変動


受信側のバッファサイズ
輻輳時,混雑時はサイズを小さく
TCP ヘッダの Window フィールドで指定


単位:バイト
16 ビット = 最大64 Kバイト
S.Sano, 2000・5
44
キュー溢れ時の廃棄の方式

中継ノードの出力キュー廃棄の方式




Drop Tail ー キューの末尾を捨てる.
Drop Head ー キューの先頭を捨てる.
Drop Random ー ランダムに捨てる.
RED(Random Early Detection) ー
 キューの長さに応じて確率的に捨てる.
 http://www-nrg.ee.lbl.gov/floyd/red.html
最大長
net
output queue
S.Sano, 2000・5
45
新しい輻輳回避・検出技術

ECN(Explicit Congestion Notification)


ルータがIPパケットに「輻輳印」をつける
受信ノードは,その印をみて輻輳を検出する
S.Sano, 2000・5
46
47
再送


ある時間内に確認応答が無ければ(=タイムアウ
ト)再送
「ある時間」は,どのように決定?


メディアの性能や現在のネットワークの状況に応じて
各セグメントの送信時刻と,それに対する確認応
答の受信時刻の差

ラウンドトリップ時間 (RTT)
S.Sano, 2000・5
再送時間の計算 - 基本



RTT を使ってタイムアウト値を計算
加重平均 または ハイカットフィルタ
RTT = (α×今までのRTT)+((1 - α)×新しいRTT)




ただし 0 < α < 1
αが1に近いほど RTT の変化に鈍い
αが0に近いほど RTT の変化に素早く応答
タイムアウト = β × RTT


48
ただし β > 1
実装例: 4.4BSD, α=0.875,β=2
S.Sano, 2000・5
タイムアウト値の計算

再転送の場合,受信した確認応答は…




Karn のアルゴリズム


最初に送信したセグメントに対するもの?
再転送したセグメントに対するもの?
→ 分からない
RTTの計算に「再転送セグメント」の時刻は使わない
バックオフの戦略


再転送が起こるとタイムアウト値を再計算
新タイムアウト値 = γ × 前のタイムアウト値
S.Sano, 2000・5
49
広帯域通信の問題





物理層の問題
リンク層の問題
ネットワーク層の問題
トランスポート層の問題
アプリケーション層の問題
S.Sano, 2000・5
50
51
パケットを満たすということ
博多
S.Sano, 2000・5
東京
博多
東京
満たすのは結構難しい

程々に満たす


高遅延,高帯域のリンクの場合




スライディングウインドウと輻輳制御
海外との光ファイバ通信
衛星通信
TCPの最大ウインドウサイズ 64kB の問題
TCP以外のトランスポート

たちの悪いUDPストリームプロトコルの場合 :-(
S.Sano, 2000・5
52
1000km,1Gbps

ファイバの伝送速度 2.1x108m/s
片道 5m秒の遅延,往復10m秒の遅延
単純計算で 6.4Mbps のスループット

1Gbps をだすためには



100Mバイトのウインドウサイズ
 100Mバイトのバッファを用意
 TCPの拡張が必要

S.Sano, 2000・5
RFC1323 TCP Extensions for High Performance
53
アドレス
IPアドレスと経路制御
ドメイン名,DNS
URL
アドレス解決
55
IPアドレスと経路制御

IPパケットに含まれるあて先アドレス(終点アドレス)
によって経路が決まり,正しくあて先に配送される.
始点アドレス 終点アドレス
データ
終点アドレスを持つ機器
ネットワークB
ネットワークC
ネットワークA
ネットワークE
ネットワークD
S.Sano, 2000・5
56
IPアドレス

固定長の論理アドレス



IPv4: 32ビット,IPv6:128ビット
ホストのネットワークインターフェースを識別
二つの部分


7 ー 経路指定,ネットワークを識別
ネットワーク部
ホスト部 ー ネットワーク内のホストを識別
NET
S.Sano, 2000・5
HOST
57
経路制御

ルータは受信したパケットの送り先のネットワーク番
号から,次のルータを決定する
ルータ
Net1
R1
Net2
Net1
Net2
Net3
Net4
R1
R1
R2
R3
経路表
S.Sano, 2000・5
R2
Net3
R3
Net4
58
経路制御

経路情報
<ネットワーク番号,転送ノード>

経路情報は経路情報プロトコルで交換



故障やパスの新設などのトポロジの変化に追従
分散型の経路制御
2レベルの交換プロトコル


AS内 - インテリア・ゲートウエイ・プロトコル
RIP,OSPF,…
AS*間 - エクステリア・ゲートウエイ・プロトコル
EGP,BGP3,BGP4,IDRP, …
*AS:
S.Sano, 2000・5
Autonomous System (自律システム)
59
AS, igp & egp
R
IGPs
R
EGPs
R
AS1
R
R
AS2
R
R
R
R
R
R
R
R
S.Sano, 2000・5
AS3
経路情報の数 1994年1月~
60
www.employees.org/~tbates/cidr.hist.plot.html
S.Sano, 2000・5
経路情報の数 1996年9月~
S.Sano, 2000・5
61
www.employees.org/~tbates/cidr.plot.html
AS番号の数 1996年10月~
S.Sano, 2000・5
62
www.employees.org/~tbates/cidr.as.plot.html
63
アドレスのクラス


最初のビットでクラスを指示
クラスフルアドレスとも

A:
B
0
10
24
NET
HOST
14
16
NET
HOST
21
C:
A
その非効率さからクラスレスへ
7
B:
C
110
S.Sano, 2000・5
NET
8
HOST
64
クラスレスのアドレス体系

ネットワーク部は可変
プレフィックス長
プレフィックス
マスク

1111..............11111
のこり
0000......0000
プレフィックス長によるネットワーク番号表記
例)133.201.2/24
プレフィックス長
ネットワーク番号
S.Sano, 2000・5
65
アグリケーション(集約)

連続したネットワークのブロック化
24
C
ネットワーク番号
00
ホスト
C
ネットワーク番号
01
ホスト
C
ネットワーク番号
10
ホスト
C
ネットワーク番号
11
ホスト
22
4C
S.Sano, 2000・5
プレフィックス
66
バックボーンのプレフィクスの短縮

CIDRでないとき…24ビット
01
ネットワーク
ホスト
24

プロバイダが64Cをもつと…18ビット
01 地域 IR/プロバイダ
7
S.Sano, 2000・5
18
顧客#
ホスト
アグリゲーションの特徴と問題点
67

アドレス空間を広くして,経路情報の増加を押さえる

ネットワークトポロジに対応して割り当て

上流のトポロジの変更でアドレスを変更する必要
ISPの変更でも
マルチホームの場合は?

DNSに期待?


S.Sano, 2000・5
Ipv6 Aggregatable Global Unicast Addresses
| 3| 13 | 8 |
24
|
16
|
64 bits
|
+--+-----+---+--------+--------+--------------------------------+
|FP| TLA |RES| NLA
| SLA
|
Interface ID
|
| | ID |
| ID
| ID
|
|
+--+-----+---+--------+--------+--------------------------------+
<--Public Topology--->
Site
<-------->
Topology
<------Interface Identifier----->
001
Format Prefix (3 bit) for Aggregatable Global
Unicast Addresses
TLA ID
Top-Level Aggregation Identifier
RES
Reserved for future use
NLA ID
Next-Level Aggregation Identifier
SLA ID
Site-Level Aggregation Identifier
INTERFACE ID Interface Identifier (EUI-64)
S.Sano, 2000・5
68
69
初期 IPv6 アドレス階層
| 3|
13
|
13
| 6 |
13
|
16
|
64 bits
|
+--+----------+---------+---+--------+--------+--------------------+
|FP|
TLA
| sub-TLA |Res|
NLA | SLA
|
Interface ID
|
| |
ID
|
|
|
ID |
ID
|
|
+--+----------+---------+---+--------+--------+--------------------+
number of the
left-most
bit boundary
************
TLA ID
4
sub-TLA ID
17
NLA ID
30
SLA ID
49
S.Sano, 2000・5
number of the
right-most
bit boundary
************
16
29
48
64
longest
prefix
*******
/16
/29
/48
/64
ID
length
(in bits)
********
13
13
19
16
70
DNS

Domain Name System,
RFC1034. 1035



IPアドレス,ドメイン名,メー
ルサーバなどを管理する分
散データベース
ドメイン名階層にあわせたD
NSサーバの配置による分散
管理
引きかた


正引き ドメイン名→IPアドレス
逆引き IPアドレス→ドメイン名
COM
US
JP
AD
AC
CO
WIDE
UK
NEC
MT
CCS
(sano)
[email protected]
S.Sano, 2000・5
URL - Uniform Resource Locators

71
ブラウザはURLに従って,WWWサーバ上のリソー
スを入手
HTML
HTML
ブラウザ
HTML
サーバ
http://www.wide.ad.jp:80/~sano/glossary.html
プロトコル
S.Sano, 2000・5
ホスト
ポート
番号
リソース名
アドレスの階層

物理アドレス ー メディア固有のアドレス



IPアドレス ー 32ビット・128ビット


ホスト内のサービスを識別
ドメイン名 ー 文字列


インターネットの接続位置を識別
ポート番号 ー 数値


IEEE803(48ビット),EUI-64(64ビット)
VPI/VCI,加入者番号
ホスト,サーバを識別
URL ー 文字列

ファイルやサービスなどの資源を識別
S.Sano, 2000・5
72
73
アドレス解決
ドメイン名
DNSサーバへの問い合わせ
IPアドレス
経路表の検索
隣接 IPアドレス
ARPによる問い合わせ
隣接 物理アドレス
S.Sano, 2000・5
インターネットの課題
論点




資源共有&ベストエフォート
スケーラビリティ
セキュリティ
ガバナンス
S.Sano, 2000・5
75
資源共有&ベストエフォート

QOS – Quality Of Service の要請



精密な予約 から 適当なプライオリティ管理まで



帯域と遅延の保証
資源予約,資源占有が必要に
適切なトレードオフが必要
いまは DiffServe
本当は,ネットワーク環境,料金モデルに強く依存
S.Sano, 2000・5
76
スケーラビリティ

アドレス vs 経路情報


膨大な端末の出現




携帯
家電
車
しかも,



IPv6は経路情報の爆発を本質的に解決していない
移動
広帯域
階層的な管理


ラベルスイッチ
モバイルIP
 マイクロモビリティ,マクロモビリティ
S.Sano, 2000・5
77
セキュリティ

安全,信頼の要請



ペイロードの関心は高い


信頼性の要請 - EC
環境の悪化 - 不正アクセス
制御系は?
AAA

認証,権限管理,課金
S.Sano, 2000・5
78
インターネットガバナンス


だれが統治するか?
インターネットの精神がいつまで維持できるか?




ラフコンセンサス
ボトムアップ
技術主導
政府・国家を超えた枠組み
S.Sano, 2000・5
79