CDNI-redirection [ISOC-JP event, 2016/03/24]

34
draft-ietf-cdni-redirection-17の概要 “Request Routing Redirection interface for CDN Interconnection” 高橋健志 情報通信研究機構 2016/3/23 1 ISOC-JP IETF Internet Draft読み込みWorkshop

Transcript of CDNI-redirection [ISOC-JP event, 2016/03/24]

Page 1: CDNI-redirection  [ISOC-JP event, 2016/03/24]

draft-ietf-cdni-redirection-17の概要 “Request Routing Redirection interface for CDN Interconnection”

高橋健志 情報通信研究機構

2016/3/23 1

ISOC-JP IETF Internet Draft読み込みWorkshop

Page 2: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義

5. Loopの検知・防止

6. Security Consideration

2016/3/23 2

Page 3: CDNI-redirection  [ISOC-JP event, 2016/03/24]

本発表のMotivation

• 本Workshopは、自由意思で特定のドラフトを読みこみ、発表するもの

• 日本でのIETFの活動をより盛り上げていきたい

• IETF内の、より広い分野の知識に触れる一つのきっかけ – 幅広い知識を持ちつつ、一部自分の専門領域を深めていきたい – そのため、自分の専門領域外のdraftを読みたい

• IETF Secdir Reviewの仕事をより本気で実施するのにも活用

– IETF Secdir Reviewとは、IETFのすべてのドラフトについて、担当制でreviewし、セキュリティの観点からコメントをする業務

– 今回はタイミングよくアサインされたdraftを選択

• 自分の理解が不足している点、また新たな視点について、フィードバックを頂ければ幸いです

3

Page 4: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義

5. Loopの検知・防止

6. Security Consideration

2016/3/23 4

Page 5: CDNI-redirection  [ISOC-JP event, 2016/03/24]

CDNとは

5 Source: http://viral-community.com/blog/cdn-5615/

• Contents Delivery Networkの略で、ウェブコンテンツを配信するのに最適化されたネットワークのこと

• Webサイトにある画像や動画・CSSなどの静的コンテンツを、Webサイトが管

理されている「サーバー」とは、別のサーバーにキャッシュし、そのサーバーが、代わりに配信

• 負荷が分散され、Webサイトの表示速度の向上にもなる

Page 6: CDNI-redirection  [ISOC-JP event, 2016/03/24]

主要CDNサービス

• Akamai-Technologies – Google、amazon、ebay、yahooなども活用 – 世界中のインターネット通信量の15-30%を取り仕切っている模様

• Amazon: AWS, Cloud Front

– 従量課金制 – 試用枠有

• Cloud flare

– 無料 – 有料版有

6 Source: http://viral-community.com/blog/cdn-5615/

Page 7: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義

5. Loopの検知・防止

6. Security Consideration

2016/3/23 7

Page 8: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Terminology

8

Request Routing system

Source: RFC6707, RFC7337

• User Agentからコンテンツ配信要求を受けるCDNの持つべき機能

• 周辺のCDNの情報を収集し、適切なCDNにユーザをredirectする

Request Routing interface

• どのCDNがエンドユーザのリクエストに対応すべきかを決定するオペレーション

Content Delivery Network

• User Agentにより効率的にコンテンツを配信するために、Layer 4から7のレベルでネットワークの構成要素が連携するネットワークインフラ

• 通常は、Request Routing system、配信システム(サロゲートを含む)、ログシステム、そしてCDN制御システムから構成される

Page 9: CDNI-redirection  [ISOC-JP event, 2016/03/24]

本draftのscope

9

CDNI Request Routing interface

Asynchronous interface

Synchronous interface

• dCDNが利用 • uCDNへのAdvertisementを実施

• uCDNが利用 • dCDNにリクエストを投げて実際に

協力してユーザにコンテンツを配信

本ドラフトのscope

CDNI: CDN Interconnection dCDN: downstream CDN uCDN: upstream CDN Source: draft-ietf-cdni-redirection-17, RFC7336

Page 10: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Protocolの概要

10

• Redirection Targetへの通信はHttp/Httpsベース • 具体的には、DNSを用いた方式とHTTPを用いた方式が存在 • 両方式でも同一のHTTPインターフェースを利用 • RI Interfaceが利用するMIME Media Typeはapplication/cdni [RFC7736]

本ドラフトのscope

Page 11: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義 a. RI request b. RI response

5. Loopの検知・防止

6. Security Consideration

2016/3/23 11

Page 12: CDNI-redirection  [ISOC-JP event, 2016/03/24]

本プロトコルが定義するメッセージ

12

dns or http

cdn-path

max-hops

dns or http

scope

error

cdn-path

request

response

Page 13: CDNI-redirection  [ISOC-JP event, 2016/03/24]

DNSベースのRedirection request : syntax

13

dns

cdn-path

max-hops

requ

est

resolver-ip

qtype

qclass

qname

c-subnet

dns-only

UAのDNSレゾルバのIPアドレス

上記レゾルバが送ったDNSクエリーのタイプ

上記レゾルバが送ったDNSクエリーのクラス (通常はIN)

問い合わせられたFQDN

UAのIPアドレス[CIDR形式]

DNS redirectionのみ利用を許可するフラグ

Request routingに参加しているCDN Provider IDのリスト

requestを転送するホップ数の上限

Page 14: CDNI-redirection  [ISOC-JP event, 2016/03/24]

DNSベースのRedirection request: 例

14

Page 15: CDNI-redirection  [ISOC-JP event, 2016/03/24]

HTTPベースのredirection request: syntax

15

http

cdn-path

max-hops

c-ip

cs-uri

cs-method

cs-version

cs-(<headername>)

requ

est

UAのIPアドレス

UAが要求しているURI

UAが要求しているHTTP method

UAが要求しているHTTPバージョン番号

その他のHTTP headerフィールド情報

Request routingに参加しているCDN Provider IDのリスト

requestを転送するホップ数の上限

Page 16: CDNI-redirection  [ISOC-JP event, 2016/03/24]

HTTPベースのredirection request: 例

16

Page 17: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義 a. RI request b. RI response

5. Loopの検知・防止

6. Security Consideration

2016/3/23 17

Page 18: CDNI-redirection  [ISOC-JP event, 2016/03/24]

本プロトコルが定義するメッセージ

18

dns or http

cdn-path

max-hops

dns or http

scope

error

cdn-path

request

response

Page 19: CDNI-redirection  [ISOC-JP event, 2016/03/24]

DNSベースのRedirection response: syntax

19

resp

onse

dns

error

cdn-path

rcode

name

a

aaaa

cname

ttl

scope

DNSのレスポンスコード [RFC6895]

Responseが回答する対象であるFQDN

RTのIPv4アドレス

RTのIPv6アドレス

RTのFQDN

DNS responseのTTL

Request routingに参加しているCDN Provider IDのリスト

(後述)

(後述)

Page 20: CDNI-redirection  [ISOC-JP event, 2016/03/24]

20

DNSベースのRedirection response: 例1

Page 21: CDNI-redirection  [ISOC-JP event, 2016/03/24]

21

DNSベースのRedirection response: 例2

Page 22: CDNI-redirection  [ISOC-JP event, 2016/03/24]

HTTPベースのRedirection response: syntax

22

resp

onse

http

error

cdn-path

sc-status

sc-version

sc-reason

cs-uri

sc-(location)

sc-(<headername>)

scope

UAに返却するStatus行のStatus-code

上述のStatus行のHTTP-version

上述のStatus行のReason-Phrase

UAが要求しているURI

UAに返却するLocationヘッダの内容

その他のHTTP headerフィールド情報

(後述)

(後述)

Request routingに参加しているCDN Provider IDのリスト

Page 23: CDNI-redirection  [ISOC-JP event, 2016/03/24]

HTTPベースのRedirection response: 例

23

Page 24: CDNI-redirection  [ISOC-JP event, 2016/03/24]

scopeキーの役割

24

dns or http

scope

error

cdn-path

response iprange

Page 25: CDNI-redirection  [ISOC-JP event, 2016/03/24]

scopeキーの活用例1

25

Page 26: CDNI-redirection  [ISOC-JP event, 2016/03/24]

scopeキーの活用例2

26

Page 27: CDNI-redirection  [ISOC-JP event, 2016/03/24]

errorキーの役割

27

dns or http

scope

error

cdn-path

response error-code

reason

Page 28: CDNI-redirection  [ISOC-JP event, 2016/03/24]

エラーコード

28

Code Reason 100 <reason> [generic informational error code] 400 <reason> [generic error code for uCDN errors] 500 <reason> [generic error code for dCDN errors] 501 Unable to retrieve metadata 502 Loop detected 503 Maximum hops exceeded 504 Out of capacity 505 Delivery protocol not supported 506 Redirection protocol not supported

Page 29: CDNI-redirection  [ISOC-JP event, 2016/03/24]

errorキーの活用例 (DNS)

29

Page 30: CDNI-redirection  [ISOC-JP event, 2016/03/24]

errorキーの役割 (HTTP)

30

Page 31: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義

5. Loopの検知・防止

6. Security Consideration

2016/3/23 31

Page 32: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Loopの検知・防止に向けた工夫

• cdn-pathをチェック – 各CDNは送信・転送するすべてのRI requestのcdn-path keyにCDN

provider IDを埋め込まなければならない – RI requestを受信したdCDNは、cdn-pathの中に自身のCDN provider

IDが含まれているかどうかをチェックし、もし含まれていたらそのrequestを棄却する

– その際には、error code 502番を用いたRI responseを返信

• max-hopsをチェック – cdn-pathの中に含まれているCDN Provider IDの数が、max-hopsで

指定されている値より大きい際には、requestを転送してはならない – その際には、error code 503番を用いたRI responseを返信

32

Page 33: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Agenda

1. 本発表のMotivation

2. CDNとは

3. 本ドラフトのscope

4. インターフェースの定義

5. Loopの検知・防止

6. Security Consideration

2016/3/23 33

Page 34: CDNI-redirection  [ISOC-JP event, 2016/03/24]

Security Consideration

• CDNI RIはTLSをサポートしなければならない • 必要なセキュリティ要件により、ユーザがTLSの利用を決

定するが、最終的には、dCDNとuCDNの双方にTLSは利用されるべき

34

Authentication, Authorization, Confidentiality, Integrityの確保

Privacyへの 配慮

• RIの利用はプライバシー情報の受け渡しが発生 – RI requestにはUser Agentが送信した元々のリクエ

スト情報が含まれている (User AgentのIPアドレス、要求URLなど)

– RI responseにはdCDNの情報が含まれている • TLSを利用することにより、上記の問題にも対応可能 • ちなみに、RIの利用により、不必要な情報漏洩は減少

– RIを利用しなくとも、redirectionをすると決定したら、User AgentのIPアドレス情報などはdCDNに伝わる

– RIを利用すると、redirection対応できないdCDNにこれらの情報が伝えられることはない