第七講 インターネットアーキテクチャ · CDMA2000, 1x EVDO, HSDPA WLAN: 802.11a/b/g...

Preview:

Citation preview

第七講インターネットアーキテクチャ

環境情報学部

湧川 隆次

2006年度秋学期 授業日程 (後半)

11/14 Internet Protocol version 6

11/28 移動体通信技術 (代講 三屋光史朗)

12/05 次世代トランスポート層技術 (代講 西田佳史)

12/12 コネクションレス型の通信技術とサービス

12/19 P2P通信技術

01/09 授業総括

Internet Protocol version 6

Fiber, Wireless and Cables

Internet Technology

Application

Cell Phone: W-CDMA, CDMA2000, 1x EVDO, HSDPA

WLAN: 802.11a/b/gWMAN: 802.16, 802.20WPAN: 802.15.3, zigbee, bluetooth

IP Telephony: VoIP, SIP, ENUM

IP Mobility: MIP, NEMO

IP dynamic network: MANET

WWW AAA

Satellite

Mail VoIP IPTV

社会のインフラとして発達してきたインターネット

来るべき未来に向けて

空気があるから声が伝わるし、光があるからものが見える。コミュニケーションが生まれ、文化・政治・経済が生まれる。インターネットは空気や光みたいなもの。使う人々の創造性によって新しい未来が実現する。

人をどこでも支えられるように!

PAN

Internet ITS Inter-vehicle

VoIP

email

Multimedia ApplicationsMP3, video streamingMobile Desktop

Home Network

Wearable

Robot

The Internet

IPv4の問題点

IPアドレスの枯渇 IPv4のアドレス数約43億個(32bit)< 世界の人口

ネットワーク家電・自動車などの識別への要求

世界中のインフラとなるには量不足

NATの普及 end-to-end 通信と双方向性の阻害

実時間性を要求するアプリケーションの普及

インターネットライブ

オンラインゲーム

映像・音声コミュニケーション

IPv6とIPv4の違い

アドレス空間の拡大 32bitから128bitへ

32bit 約20億~40億

128bit340,282,366,920,938,463,463,374,607,431,768,211,456

アドレスアーキテクチャ 階層的構造

スコープの導入

アドレス種別

IPv6とIPv4の違い (cont.)

高速化への対応 ヘッダフォーマットの簡易化

利用されていないフィールドを削除

固定長

チェックサムの廃止

経路上におけるパケット分割の廃止

実時間性への対応 フローラベル

クラスフィールド

セキュリティ IPsecを標準とする

新たなアドレス体系への期待

IPv4 の反省をいかして作り直そうという動き IP version 6 の登場

IPv4 からの改善点

アドレス空間の拡張

高速化への対応

フラグメントの廃止

ヘッダの簡素化

追加機能

プラグアンドプレイ

IPsecの標準サポート

   バケツ一杯分の砂の数 太陽一個分(地球100万個分) の体積の砂の数

長さで1mm 銀河系の直径の84,000倍

IPv4 – 32 bit IPv6 – 128 bit

最大の利点アドレス空間の大拡張

高速化への対応

中間ルータでのパケット分割の廃止 ルータへの負荷原因であるフラグメントを行わない

経路上での最小パケットサイズ(MTU)で送信する

Path MTU Discoveryにより経路上の最小MTUを知る

ヘッダフォーマットの簡易化

実質的に利用されていないフィールドの削除

固定長への変更

チェックサムの廃止

高速化への対応Path MTU Discovery

経路上でのパケットの細分化をさけるため、あらかじめ経路上の最小MTUを発見

中継ルータでのパケットの細分化のオーバーヘッドを軽減

データリンクの種類によってMTUのサイズは違う

Ethernet 1500

IP over ATM 9180

PPPoE 1492

1500 1492 9180

経路上の最小MTUを基準にしてパケットを細分化1492バイト

中継ルータはMTUを気にせず転送するため、処理負荷が低くなる

IPv6 - インターネット本来の姿

アドレス空間の拡大 End-to-End モデルの復活

新たな要求に対応する機能 マルチキャスト

IPsec

Mobile IP

自動設定 アドレス自動設定機構の標準化

ネットワークのリナンバリング

高速化への対応複雑IPv4ヘッダフォーマット

バージョン(4bit)

ヘッダ長(4bit)

サービスタイプ(TOS)(8bit)

全データ長(バイト単位)(16bit)

識別子(16bit)

フラグ(3bit)

フラグメントオフセット(13bit)

Time To Live(8bit)

プロトコル(8bit)

ヘッダチェックサム(16bit)

発信元IPアドレス(32bit)

宛先IPアドレス(32bit)

(オプション)(可変長) (パディング)

データ

0 31

IPv6で削除または名称変更されたフィールド

高速化への対応簡素なIPv6ヘッダフォーマット

バージョン(3bit)

優先順位(9bit)

フローラベル(20bit)

ペイロード長(16bit)

次ヘッダ(8bit)

Hop Limit(8bit)

データ

0 31

発信元IPアドレス(128bit)

宛先IPアドレス(128bit)

拡張ヘッダ(可変長)

IPv4から名称変更されたフィールド

高速化への対応IPv4ヘッダ vs. IPv6ヘッダ

IPv4ではヘッダ中に可変長のオプションフィールド

IPv6ではヘッダは固定長、オプションヘッダをヘッダ本体の後ろに追加する(詳細は後述)

オプションフィールド

拡張ヘッダ

IPv4ヘッダ

拡張ヘッダ

・・・拡張ヘッダ

固定長(40byte)必須情報を格納

可変長(0byte~)オプションな情報全てのノードで利用する情報は前方に終点でのみ利用する情報は後方に。

拡張ヘッダ

Next Header = TCP

Next Header = TCP

IPv6 Header TCP Header

IPv6 Header

Next Header = EXT

EXT Header TCP Header

•ホップごとのオプションヘッダ

•終点オプションヘッダ

•ルーティングヘッダ

•フラグメントヘッダ

•認証ヘッダ

•暗号化ヘッダ

•終点オプションヘッダ(最終)

拡張ヘッダ (cont.)

順序の推奨 処理の効率化を期待

違う順序でも処理できなければいけない

すべてのノードで処理すべきものと分離 ホップ・バイ・ホップ・オプション

終点オプション

処理できないヘッダはICMPでエラー返送もしくは無視

拡張ヘッダの長さは8オクテットの整数倍

各拡張ヘッダの概要

Hop-by-Hop Option Header パケットサイズが64K以上のジャンボグラムやQoSに利用 各ルータで処理される

Routing Header 経由するルータを指定するために利用 Mobile IPv6でも利用される(次回)

Fragment Header パスMTUより大きなパケットを送信する際に送信元がパケットをフラグメント化するために利用

Destination Option Header パケットの終点ノードでのみ参照される Mobile IPv6で利用される(次回)

Authentication Header, ESP header IPsecに利用される

次ヘッダフィールドと拡張ヘッダ

拡張ヘッダ

拡張ヘッダ

・・・拡張ヘッダ

バージョン(3bit)

優先順位(9bit)

フローラベル(20bit)

ペイロード長(16bit)

次ヘッダ(8bit)

Hop Limit(8bit)

発信元IPアドレス(128bit)

宛先IPアドレス(128bit)

IPv6ヘッダ、拡張ヘッダはそれぞれ次ヘッダフィールドを持つ

IPv6における拡張ヘッダの配置

IPv6ヘッダ ペイロード

Hop-by-Hop option header(0)

Destination option header(60)

Routing header(43)

Fragment header(44)

Authentication header(51)

ESP header(50)

Destination optionheader(60)

()内はプロトコル番号:次ホップフィールドで指定

セキュリティ関連の拡張ヘッダ

拡張ヘッダには推奨される配置順がある

オプションの形式

Option Type Option Len Option Data

00 パケットを破棄せず、次のヘッダへ01 パケットを破棄10 パケットを破棄し,ICMPエラーを発信元へ11 パケットを破棄し,

マルチキャストでない場合ICMPエラー発信元へ

0 オプションデータは途中で変更しない1 オプションデータは途中で途中で変更

オプション種別

Option Len オクテット

ホップバイホップ・オプション・ヘッダ

パス上のすべてのノードで処理するオプション

一つまたは複数のオプションを含む

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)

サブネット1 サブネット2 サブネット3

ユーザネットワーク

IPv6ネットワーク全体

グローバルルーティングプレフィックス

サブネットID

インタフェースID

64bit64bit

IPv6におけるアドレス表記

可読性を高めるために連続する0は「::」で省略可能 2001 : 0200 : 0000 : 8002 : 0202 : 4755 : 5ea5 : 3085

2001 : 200 : 0000 : 8002 : 202 : 4755 : 5ea5 : 30852001 : 200 : : 8002 : 202 : 4755 : 5ea5 : 3085

省略は1度のみ可能

プレフィックス長は「/」で続ける 2001 : 200 : : 8002 : 202 : 4755 : 5ea5 : 3085/64

2001:0200:0000:8002 0202:4755:5ea5:308564bit ネットワークプレフィックス 64bit インタフェースID

アドレス種別

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 ノード内の全 IPv6 ノードFF02:0:0:0:0:0:0:1 リンク内の全 IPv6 ノードFF01:0:0:0:0:0:0:2 ノード内の全 IPv6 ルータFF02:0:0:0:0:0:0:2 リンク内の全 IPv6 ルータFF02:0:0:0:0:0:0:C 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 リンク方法:イーサーネット ハードウェアアドレス 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

lo リンク方法:ローカルループバック

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アドレスの宛先指定方法による分類

ユニキャストアドレス (Unicast Address) 同じアドレスを持つ計算機が唯一

1対1通信に利用

マルチキャストアドレス (Multicast Address) 同じアドレスを持つノードが複数

1対多通信に利用

エニーキャストアドレス (Anycast Address) 同じアドレスを持つノードが複数

1対1通信に利用

通信開始時点の経路情報に基づき通信相手が決定される

エニーキャスト

London

France

Hong KongSan Jose

同じエニーキャストアドレスXXXXを持つホスト

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)

DHCPv6サーバ

アドレスリスト(1)アドレス要請

(2)アドレス情報+付加情報

ステートフルアドレス自動生成

ルータ要請Router Solicitation

ルータ広告Router AdvertisementインタフェースID

xxxxx

ステートレスアドレス自動生成

ステートレスアドレス自動設定

ルータ要請Router Solicitation

ルータ広告Router AdvertisementインタフェースID

xxxxx

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 Solicitation リンク層アドレス問い合わせ,確認

Neighbor Advertisement 問い合わせへの応答

Redirect よりよい経路への変更指示

ホスト自動設定

Stateless Address Auto Configuration

アドレスと経路を自動設定

NDP として実装

EUI-64 を用いたアドレスRouter

Host Host

RA

プラグ&プレイ

ステートレスアドレス自動設定インタフェースIDの自動生成 (1/3)

インタフェースIDの自動生成

MACアドレスを利用する方法が一般的

MACアドレスをEUI-48からEUI-64へ変換する

00:11:24:79:8e:8200000000 00010001 00100100 01111001 10001110 10000010

16進数表記

2進数表記

OUI ベンダーによる割当て

ステートレスアドレス自動設定インタフェース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

ルータ広告Router AdvertisementインタフェースID

0211:24ff:fe79:8e82 2001:200:0:8803

0211:24ff:fe79:8e822001:200:0:8803 :グローバルユニキャストアドレスの出来上がり

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) 暗号や改ざん防止などのセキュリティ機能を提供

IPv4は拡張によりIPsecに対応可能、IPv6はIPsecに標準対応

IPsecの機能 機密性(confidentiality) 完全性(integrity) 認証(authentication) 否認防止(non-repudiation) アクセス制御(access control) リプレイ防御(anti-replay)

IPを利用する全てのプロトコル・アプリケーションにおける安全性を向上させることが可能!

Authentication Headerパケットの完全性を保証

ペイロード長(8bit)

Reserved(16bit)

認証データ:ICV(可変長)(32bit)

0 31

次ヘッダ(8bit)

セキュリティパラメータインデックス(SPI)(32bit)

シーケンス番号(32bit)

認証データ:通信相手とあらかじめ決めておいた鍵によって生成したパケットの特殊なチェックサム(ICV: Integrity Check Value)を示す。

途中で改ざんされたパケットは、認証データフィールドを利用することで検出可能となる。鍵が安全に通信相手と交換されている限り非常に安全!

Encapsulating Security Payload (ESP)ペイロードの暗号化

セキュリティパラメータインデックス(SPI)(32bit)

暗号化されたペイロードデータ(可変長)

0 31

シーケンス番号(32bit)

パディング長(8bit)

次ヘッダ(8bit)

パディング(0~255バイト)

認証データ:ICV(可変長)

ESPヘッダ

ペイロード

ESPトレーラ

ESP認証データ

暗号化ペイロードIPヘッダ ESPESP認証データ

ESPトレーラ

暗号化ヘッダ(ESP)

ESP ‐ Encapsulating Security Payload

IPv6パケットの機密性を確保

ESP - トランスポートモード

ペイロードを暗号化して,ESPに入れる

IP Hdr Ext Hdr TCP DataESP前

ESP後 IP Hdr Ext Hdr ESP TCP Data ESPAuth

暗号化

認証・完全性

トランスポートモード

Internet

IP Payload

IP ESP

IP Payload

IP ESP

ESP - トンネルモード

IPデータグラム全体を暗号化して

IP Hdr Ext Hdr TCP DataESP前

ESP後 IP Hdr Ext Hdr ESP TCP Data ESPAuthIP Hdr Ext Hdr

暗号化

認証・完全性

トンネルモード

Internet

IP1 Payload

IP2 IP1 ESP

IPsec-GW IPsec-GW

IP2 IP1 ESP

IP1 Payload

まとめ

IPv6の最大のメリット 巨大なアドレス空間を利用可能 全ての人・モノ同士をつなぐインフラになり得る

IPv6の設計方針 パケット転送の高速化

Path MTU Discovery IPv6ヘッダの簡素化

プラグアンドプレイ ステートフルアドレス自動設定 ステートレスアドレス自動設定

拡張ヘッダによるオプション IPsecを標準サポート(AH, ESP)

Recommended