...

授業資料

by user

on
Category: Documents
0

views

Report

Comments

Transcript

授業資料
第七講
インターネットアーキテクチャ
環境情報学部
湧川 隆次
2006年度秋学期 授業日程 (後半)






11/14
11/28
Internet Protocol version 6
移動体通信技術 (代講 三屋光史朗)
12/05
12/12
12/19
01/09
次世代トランスポート層技術 (代講 西田佳史)
コネクションレス型の通信技術とサービス
P2P通信技術
授業総括
Internet Protocol version 6
社会のインフラとして発達してきたインターネット
Application
WWW
AAA
IP Telephony:
VoIP, SIP, ENUM
VoIP
Mail
Internet Technology
IP dynamic network: MANET
IP Mobility: MIP, NEMO
Cell Phone: W-CDMA,
CDMA2000, 1x EVDO, HSDPA
Fiber, Wireless and Cables
Satellite
IPTV
WLAN: 802.11a/b/g
WMAN: 802.16, 802.20
WPAN: 802.15.3, zigbee, bluetooth
来るべき未来に向けて
空気があるから声が伝わるし、光があるからものが見える。
コミュニケーションが生まれ、文化・政治・経済が生まれる。
インターネットは空気や光みたいなもの。
使う人々の創造性によって新しい未来が実現する。
人をどこでも支えられるように!
VoIP
Multimedia Applications
MP3, video streaming
Mobile Desktop
email
The Internet
Internet ITS
Inter-vehicle
Robot
Home Network
PAN
Wearable
IPv4の問題点

IPアドレスの枯渇




NATの普及


IPv4のアドレス数約43億個(32bit)< 世界の人口
ネットワーク家電・自動車などの識別への要求
世界中のインフラとなるには量不足
end-to-end 通信と双方向性の阻害
実時間性を要求するアプリケーションの普及



インターネットライブ
オンラインゲーム
映像・音声コミュニケーション
IPv6とIPv4の違い

アドレス空間の拡大

32bitから128bitへ
 32bit
約20億∼40億
 128bit
340,282,366,920,938,463,463,374,607,431,768,211,456

アドレスアーキテクチャ



階層的構造
スコープの導入
アドレス種別
IPv6とIPv4の違い (cont.)

高速化への対応



実時間性への対応



ヘッダフォーマットの簡易化
 利用されていないフィールドを削除
 固定長
 チェックサムの廃止
経路上におけるパケット分割の廃止
フローラベル
クラスフィールド
セキュリティ

IPsecを標準とする
新たなアドレス体系への期待

IPv4 の反省をいかして作り直そうという動き


IP version 6 の登場
IPv4 からの改善点



アドレス空間の拡張
高速化への対応
 フラグメントの廃止
 ヘッダの簡素化
追加機能
 プラグアンドプレイ
 IPsecの標準サポート
最大の利点
アドレス空間の大拡張
IPv4 – 32 bit
バケツ一杯分の砂の数
長さで1mm
IPv6 – 128 bit
太陽一個分(地球100万個分)
の体積の砂の数
銀河系の直径の84,000倍
高速化への対応
中間ルータでのパケット分割の廃止





ルータへの負荷原因であるフラグメントを行わない
経路上での最小パケットサイズ(MTU)で送信する
Path MTU Discoveryにより経路上の最小MTUを知る
ヘッダフォーマットの簡易化



実質的に利用されていないフィールドの削除
固定長への変更
チェックサムの廃止
高速化への対応
Path MTU Discovery

経路上でのパケットの細分化をさけるため、あらかじめ経路上
の最小MTUを発見


中継ルータでのパケットの細分化のオーバーヘッドを軽減
データリンクの種類によってMTUのサイズは違う



Ethernet
IP over ATM
PPPoE
1500
9180
1492
経路上の最小MTUを基準にしてパケットを細分化
1492バイト
1500
1492
9180
中継ルータはMTUを気にせず転送するため、処理負荷が低くなる
IPv6 - インターネット本来の姿

アドレス空間の拡大


新たな要求に対応する機能




End-to-End モデルの復活
マルチキャスト
IPsec
Mobile IP
自動設定


アドレス自動設定機構の標準化
ネットワークのリナンバリング
高速化への対応
複雑IPv4ヘッダフォーマット
31
0
バージョ
ン
(4bit)
ヘッダ長
(4bit)
Time To Live
(8bit)
全データ長(バイト単位)
(16bit)
サービスタイプ(TOS)
(8bit)
識別子
(16bit)
フラグ
(3bit)
プロトコル
(8bit)
フラグメントオフセット
(13bit)
ヘッダチェックサム
(16bit)
発信元IPアドレス
(32bit)
宛先IPアドレス
(32bit)
(オプション)
(可変長)
データ
IPv6で削除または名称変更されたフィールド
(パディング)
高速化への対応
簡素なIPv6ヘッダフォーマット
31
0
バージョ
ン
(3bit)
優先順位
(9bit)
フローラベル
(20bit)
ペイロード長
(16bit)
次ヘッダ
(8bit)
発信元IPアドレス
(128bit)
宛先IPアドレス
(128bit)
拡張ヘッダ
(可変長)
データ
IPv4から名称変更されたフィールド
Hop Limit
(8bit)
高速化への対応
IPv4ヘッダ vs. IPv6ヘッダ

IPv4ではヘッダ中に可変長のオプションフィールド
オプション
フィールド
IPv4ヘッダ

IPv6ではヘッダは固定長、オプションヘッダをヘッダ本体の後ろに追加す
る(詳細は後述)
拡張
ヘッダ
固定長(40byte)
必須情報を格納
拡張
ヘッダ
・・・
拡張
ヘッダ
可変長(0byte∼)
オプションな情報
全てのノードで利用する情報は前方に
終点でのみ利用する情報は後方に。
拡張ヘッダ
•ホップごとのオプションヘッダ
IPv6 Header
•終点オプションヘッダ
TCP Header
•ルーティングヘッダ
Next Header
= TCP
•フラグメントヘッダ
•認証ヘッダ
IPv6 Header
EXT Header
Next Header
Next Header = TCP
= EXT
TCP Header
•暗号化ヘッダ
•終点オプションヘッダ(最終)
拡張ヘッダ (cont.)

順序の推奨



すべてのノードで処理すべきものと分離




処理の効率化を期待
違う順序でも処理できなければいけない
ホップ・バイ・ホップ・オプション
終点オプション
処理できないヘッダはICMPでエラー返送
もしくは無視
拡張ヘッダの長さは8オクテットの整数倍
各拡張ヘッダの概要

Hop-by-Hop Option Header



Routing Header



パスMTUより大きなパケットを送信する際に送信元がパケットをフラグメント化
するために利用
Destination Option Header



経由するルータを指定するために利用
Mobile IPv6でも利用される(次回)
Fragment Header


パケットサイズが64K以上のジャンボグラムやQoSに利用
各ルータで処理される
パケットの終点ノードでのみ参照される
Mobile IPv6で利用される(次回)
Authentication Header, ESP header

IPsecに利用される
次ヘッダフィールドと拡張ヘッダ
バージョ
ン
(3bit)
優先順位
(9bit)
フローラベル
(20bit)
ペイロード長
(16bit)
次ヘッダ
(8bit)
Hop Limit
(8bit)
発信元IPアドレス
(128bit)
宛先IPアドレス
(128bit)
拡張
ヘッダ
拡張
ヘッダ
・・・
IPv6ヘッダ、拡張ヘッダはそれぞれ次ヘッダフィールドを持つ
拡張
ヘッダ
IPv6における拡張ヘッダの配置
()内はプロトコル番号:次ホップフィールドで指定
IPv6ヘッダ
ペイロード
Destination option
header(60)
ESP header(50)
Authentication header(51)
Fragment header(44)
セキュリティ関連
の拡張ヘッダ
Routing header(43)
Destination option header(60)
Hop-by-Hop option header(0)
拡張ヘッダには推奨される配置順がある
オプションの形式
Option Len オクテット
Option Type
Option Len
Option Data
オプション種別
0
1
00
01
10
11
オプションデータは途中で変更しない
オプションデータは途中で途中で変更
パケットを破棄せず、次のヘッダへ
パケットを破棄
パケットを破棄し,ICMPエラーを発信元へ
パケットを破棄し,
マルチキャストでない場合ICMPエラー発信元へ
ホップバイホップ・オプション・ヘッダ


パス上のすべてのノードで処理するオプション
一つまたは複数のオプションを含む
Next Header
Hdr Ext Len
Options
ルーティング・ヘッダ

途中経路を発信元が指定
 現在 type 0 のみ規定
Next Header
Hdr Ext Len
Routing Type Segment Left
Reserved
Address[0]
Address[1]
Address[n]
終点オプション・ヘッダ

終点に通知するオプション情報を指定
Next Header
Hdr Ext Len
Options
No Next Header
つぎに拡張ヘッダが続かないときの
ヘッダタイプ
 ペイロードがないときのヘッダの終端

IPv6アドレス構造
アドレス構造と表記法
アドレス種類とスコープ
IPv6 アドレス表記


128bit を 16進数で表す
4桁ごとに 「 : 」 で区切る


3ffe:501:100c:e320:2e0:18ff:fe98:936d
連続する「0」は省略可能

3ffe:501:100c:e320:0:0:0:1 →
3ffe:501:100c:e320::1
IPv6 アドレス構造



ネットワークプレフィクス とインタフェースID に分
かれる
ネットワークプレフィクス (上位nbit) (64)
ホストID (下位 128-n bit) (64)


EUI-64
Ethernet の場合,MAC アドレスを元に決定
IPv6アドレスの構造(RFC3587)
IPv6ネットワーク全体
ユーザネットワーク
サブネット1
グローバルルーティング
プレフィックス
64bit
サブネット2
サブネット
ID
サブネット3
インタフェース
ID
64bit
IPv6におけるアドレス表記
2001:0200:0000:8002
64bit ネットワークプレフィックス

64bit インタフェースID
可読性を高めるために連続する0は「::」で省略可能



0202:4755:5ea5:3085
2001 : 0200 : 0000 : 8002 : 0202 : 4755 : 5ea5 : 3085
2001 : 200 : 0000 : 8002 : 202 : 4755 : 5ea5 : 3085
2001 : 200 : : 8002 : 202 : 4755 : 5ea5 : 3085
省略は1度のみ可能
プレフィックス長は「/」で続ける

2001 : 200 : : 8002 : 202 : 4755 : 5ea5 : 3085/64
アドレス種別

Unicast Address


Anycast Address


単一のインタフェースに対して割り当てられる
複数のインタフェースに対して割り当てられ、そのうち
のどれか1つに対して配送される
Multicast Address

複数のインタフェースに対して割り当てられ、それら
すべてに配送される
スコープの概念

Global address


Link-Local address



インターネット全体において有効な,単一なアドレス
同一リンク上のみ有効なアドレス
fe80::1
Site-Local address



サイト内でのみ有効なアドレス
Unique Local Addressへ移行済み
fc00::1000:0:0:0:1
定義済みマルチキャストアドレス
FF00:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:0
:
FF0F:0:0:0:0:0:0:0
FF01:0:0:0:0:0:0:1
FF02:0:0:0:0:0:0:1
FF01:0:0:0:0:0:0:2
FF02:0:0:0:0:0:0:2
FF02:0:0:0:0:0:0:C
予約
予約
予約
ノード内の全 IPv6 ノード
リンク内の全 IPv6 ノード
ノード内の全 IPv6 ルータ
リンク内の全 IPv6 ルータ
DHCP サーバ/リレーエージェント
全 IPv6 ノードに対する通信例
% ping6 ff02::1%eth0
PING ff02::1(ff02::1) from fe80::2e0:18ff:fe98:936d eth0: 56 data bytes
64 bytes from ::1: icmp_seq=0 hops=64 time=1.2 ms
64 bytes from fe80::2d0:b7ff:fe9a:6f27: icmp_seq=0 hops=64 time=1.3 ms (DUP!)
64 bytes from fe80::2e0:18ff:fe01:81f7: icmp_seq=0 hops=64 time=1.4 ms (DUP!)
64 bytes from fe80::2d0:b7ff:fe9a:6b58: icmp_seq=0 hops=64 time=1.7 ms (DUP!)
64 bytes from fe80::2e0:18ff:fea8:c706: icmp_seq=0 hops=64 time=1.8 ms (DUP!)
64 bytes from fe80::240:26ff:fe66:a4: icmp_seq=0 hops=64 time=1.8 ms (DUP!)
64 bytes from fe80::200:86ff:fe42:55ff: icmp_seq=0 hops=64 time=1.9 ms (DUP!)
64 bytes from fe80::2e0:18ff:fea8:34c8: icmp_seq=0 hops=64 time=2.2 ms (DUP!)
64 bytes from fe80::210:4bff:fe92:cc93: icmp_seq=0 hops=64 time=2.2 ms (DUP!)
64 bytes from fe80::250:70ff:fe01:d2c8: icmp_seq=0 hops=64 time=2.3 ms (DUP!)
64 bytes from fe80::2a0:ccff:fe73:34f7: icmp_seq=0 hops=64 time=2.4 ms (DUP!)
64 bytes from fe80::2e0:18ff:fea8:4e0a: icmp_seq=0 hops=64 time=2.6 ms (DUP!)
ノードの持つアドレス例





各インタフェースごとのリンクローカルアドレス
Global Unicast アドレス
ループバックアドレス
全ノードマルチキャストアドレス
ノードの属するその他のマルチキャストアドレス
ノードの持つアドレス例 (cont.)
eth0
lo
リンク方法:イーサーネット ハードウェアアドレス 00:E0:18:98:93:6D
inet6アドレス: fe80::2e0:18ff:fe98:936d/10 範囲:リンク
inet6アドレス: 3ffe:501:100c:d210:2e0:18ff:fe98:936d/64 範囲:グローバル
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXパケット:3333033 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:3459456 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:100
割り込み:11
リンク方法:ローカルループバック
inet6アドレス: ::1/128 範囲:ホスト
UP LOOPBACK RUNNING MTU:16144 Metric:1
RXパケット:3323249 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:3323249 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:0
IPv6アドレスの宛先指定方法による分類

ユニキャストアドレス



同じアドレスを持つ計算機が唯一
1対1通信に利用
マルチキャストアドレス (Multicast Address)



(Unicast Address)
同じアドレスを持つノードが複数
1対多通信に利用
エニーキャストアドレス (Anycast Address)



同じアドレスを持つノードが複数
1対1通信に利用
通信開始時点の経路情報に基づき通信相手が決定される
エニーキャスト
Hong Kong
San Jose
London
France
ット 送
ケ
パ き転
の づ
宛
基
X
に
X
X
X 経路
は れる
さ
同じエニーキャストアドレスXXXXを持つホスト
永続的なマルチキャストアドレス

全ノードマルチキャストアドレス



インタフェースローカルスコープ
リンクローカルスコープ
全ルータマルチキャストアドレス




FF01 : : 1
FF02 : : 1
FF01 : : 2
FF02 : : 2
FF03 : : 2
インタフェースローカルスコープ
リンクローカルスコープ
サイトローカルスコープ
要請ノードマルチキャストアドレス

FF02 : : 1 : FF00 : 0000 ∼ FF02 : : 1 : FFFF : FFFF
(リンクローカルスコープ)

下位24ビット=インタフェースIDの下位24ビット
IPv4のブロードキャストアドレスはFF02::1をさす
リンクローカルスコープの
マルチキャストアドレスの使い道

リンクローカル全ノードマルチキャスト

同リンクに接続する全ノードから情報取得する際に利用
 例えばリンクローカルアドレスを知りたい場合に利用される
僕宛だ!
僕宛だ!
僕宛だ!
情報要請
リンクローカルスコープの
マルチキャストアドレスの使い道

リンクローカル全ノードマルチキャスト

同リンクに接続する全ノードから情報取得する際に利用
 例えばリンクローカルアドレスを知りたい場合に利用される
返答
返答
返答
情報取得
リンクローカルスコープの
マルチキャストアドレスの使い道

リンクローカル全ルータマルチキャスト


リンク上の全てのルータとの通信に利用
非ルータは無駄なパケット処理をする必要はない
僕宛だ!
僕宛じゃないな
僕宛じゃないな
リンクローカル全ルータ
マルチキャストアドレス
宛に情報要請
リンクローカルスコープの
マルチキャストアドレスの使い道

リンクローカル全ルータマルチキャスト


リンク上の全てのルータとの通信に利用
非ルータは無駄なパケット処理をする必要はない
返答
情報取得
リンクローカル全ルータマルチキャストはステートレスアドレス自動設定
におけるルータ要請メッセージに利用される(後述)
エニーキャストアドレス

構造はユニキャストアドレスと同じ



エニーキャストアドレスの利点


エニーキャストアドレスはユニキャストアドレスのために取得さ
れたアドレス空間の一部を利用
ユニキャストアドレス同様3種類のスコープを持てる
特定のサービスを提供するホストがそれぞれ同じエニーキャス
トアドレスを持っている場合
 サービスとアドレスのバインディングが可能
エニーキャストアドレス宛のパケットは経路に基づき転
送される
プラグアンドプレイ
ステートフルアドレス自動設定
ステートレスアドレス自動設定
EUI-48 から EUI-64への変換方法
IPv6の持つアドレス自動生成方法(1/2)

ステートフルアドレス自動設定



DHCPv6サーバに問い合わせることで設定
自動設定される項目
 グローバルユニキャストアドレス
 デフォルトルート
 DNSサーバ情報(RFC3646)
 SIPサーバ情報(RFC3319)
ステートレスアドレス自動設定


ネットワークに接続するだけで自動的に設定される
自動設定される項目
 グローバルユニキャストアドレス
 デフォルトルート
IPv6の持つアドレス自動生成方法(2/2)
ステートフルアドレス自動生成
(1)アドレス要請
(2)アドレス情報+付加情報
ステートレスアドレス自動生成
ルータ要請
Router Solicitation
インタフェースID
xxxxx
ルータ広告
Router Advertisement
アドレス
リスト
DHCPv6サーバ
ステートレスアドレス自動設定
ルータ要請
Router Solicitation
インタフェースID
xxxxx
ルータ広告
Router Advertisement
ICMPv6


Internet Control Message Protocol for IPv6
IP における通信の制御



エラー通知
通信状況の通知
ICMP を使ったアプリケーション

ping, traceroute
NDP の機能



ARP(Address Resolution Protocol) から
NDP(Neighbor Discovery Protocol)へ
ICMPとして実装
IP 層とリンク層の対応付けを解決




自動設定



近隣ノードの発見
近隣ノード不到達性の検知
重複アドレスの検知
ルータ発見
自動アドレス設定
リダイレクト
NDP メッセージタイプ

Router Solicitation


Router Advertisement


リンク層アドレス問い合わせ,確認
Neighbor Advertisement


プリフィックス,アドレス設定情報,ホップリミット推奨値
Neighbor Solicitation


ノードがルータに問い合わせ
問い合わせへの応答
Redirect

よりよい経路への変更指示
ホスト自動設定




Stateless Address Auto Configuration
アドレスと経路を自動設定
NDP として実装
EUI-64 を用いたアドレス
Router
RA
プラグ&プレイ
Host
Host
ステートレスアドレス自動設定
インタフェースIDの自動生成 (1/3)

インタフェースIDの自動生成

MACアドレスを利用する方法が一般的
 MACアドレスをEUI-48からEUI-64へ変換する
16進数表記
2進数表記
00:11:24:79:8e:82
00000000
00010001 00100100 01111001
OUI
10001110 10000010
ベンダーによる割当て
ステートレスアドレス自動設定
インタフェースIDの確認方法(Linux)

zux***.sfc.keio.ac.jpにログイン

/sbin/ifconfig eth0
 MACアドレス
00:08:02:1F:02:17
 インタフェースID
02:08:02:ff:fe:1f:02:17
MACアドレス
インタフェースID
ステートレスアドレス自動設定
ルータ広告を基にしたグローバルアドレス生成
ルータ要請
Router Solicitation
インタフェースID
0211:24ff:fe79:8e82
ルータ広告
Router Advertisement
2001:200:0:8803
グローバルユニキャストアドレスの出来上がり
2001:200:0:8803 : 0211:24ff:fe79:8e82
IPv6拡張ヘッダとIPsec
各種オプションヘッダ
IPsecとは
Authentication Header
Encapsulating Security Payload
IPsec の目標


機構はアルゴリムズに独立であり.取り替え可能
であること
デフォルトアルゴリズムを指定


keyed MD5,DES CBC,
3つの要求を充足



認証
改ざん防止
機密保護
2つのセキュリティ メカニズム

AH ‐ Authentication Header


認証と完全性を保証
ESP ‐ Encapsulating Security Payload

機密性を保証
IPsec

IPsec(RFC2401)



IPsecの機能







暗号や改ざん防止などのセキュリティ機能を提供
IPv4は拡張によりIPsecに対応可能、IPv6はIPsecに標準対応
機密性(confidentiality)
完全性(integrity)
認証(authentication)
否認防止(non-repudiation)
アクセス制御(access control)
リプレイ防御(anti-replay)
IPを利用する全てのプロトコル・アプリケーションにおける安全性
を向上させることが可能!
Authentication Header
パケットの完全性を保証
31
0
次ヘッダ
(8bit)
ペイロード長
(8bit)
Reserved
(16bit)
セキュリティパラメータインデックス(SPI)
(32bit)
シーケンス番号
(32bit)
認証データ:ICV(可変長)
(32bit)
認証データ:
通信相手とあらかじめ決めておいた鍵によって生成したパケットの特殊な
チェックサム(ICV: Integrity Check Value)を示す。
途中で改ざんされたパケットは、認証データフィールドを利用することで
検出可能となる。鍵が安全に通信相手と交換されている限り非常に安全!
Encapsulating Security Payload (ESP)
ペイロードの暗号化
0
31
セキュリティパラメータインデックス(SPI)
(32bit)
ESPヘッダ
シーケンス番号
(32bit)
暗号化されたペイロードデータ
(可変長)
ペイロード
パディング(0∼255バイト)
パディング長
(8bit)
次ヘッダ
(8bit)
ESP認証
データ
認証データ:ICV
(可変長)
IPヘッダ
ESP
暗号化ペイロード
ESP
トレーラ
ESP
トレーラ
ESP
認証データ
暗号化ヘッダ(ESP)


ESP ‐ Encapsulating Security Payload
IPv6パケットの機密性を確保
ESP - トランスポートモード

ペイロードを暗号化して,ESPに入れる
ESP前
IP Hdr Ext Hdr
TCP Data
ESP後
IP Hdr Ext Hdr
ESP
TCP Data
暗号化
認証・完全性
ESP
Auth
トランスポートモード
Internet
IP
Payload
IP
Payload
IP
ESP
IP
ESP
ESP - トンネルモード

IPデータグラム全体を暗号化して
ESP前
IP Hdr Ext Hdr
TCP Data
ESP後
IP Hdr Ext Hdr
ESP
IP Hdr Ext Hdr TCP Data
暗号化
認証・完全性
ESP
Auth
トンネルモード
Internet
IPsec-GW
IP1
IPsec-GW
Payload
IP2 IP1
IP1
ESP
IP2 IP1
Payload
ESP
まとめ

IPv6の最大のメリット



巨大なアドレス空間を利用可能
全ての人・モノ同士をつなぐインフラになり得る
IPv6の設計方針

パケット転送の高速化
 Path MTU Discovery
 IPv6ヘッダの簡素化

プラグアンドプレイ
 ステートフルアドレス自動設定
 ステートレスアドレス自動設定

拡張ヘッダによるオプション
 IPsecを標準サポート(AH, ESP)
Fly UP