บทที่ ๑ บทนํา - isoc · ในแบบธรรมเนียมทหาร, การปกครองกรมและกองทหาร, การรักษาการณ
CDNI-redirection [ISOC-JP event, 2016/03/24]
-
Upload
takeshi-takahashi -
Category
Technology
-
view
299 -
download
1
Transcript of 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
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義
5. Loopの検知・防止
6. Security Consideration
2016/3/23 2
本発表のMotivation
• 本Workshopは、自由意思で特定のドラフトを読みこみ、発表するもの
• 日本でのIETFの活動をより盛り上げていきたい
• IETF内の、より広い分野の知識に触れる一つのきっかけ – 幅広い知識を持ちつつ、一部自分の専門領域を深めていきたい – そのため、自分の専門領域外のdraftを読みたい
• IETF Secdir Reviewの仕事をより本気で実施するのにも活用
– IETF Secdir Reviewとは、IETFのすべてのドラフトについて、担当制でreviewし、セキュリティの観点からコメントをする業務
– 今回はタイミングよくアサインされたdraftを選択
• 自分の理解が不足している点、また新たな視点について、フィードバックを頂ければ幸いです
3
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義
5. Loopの検知・防止
6. Security Consideration
2016/3/23 4
CDNとは
5 Source: http://viral-community.com/blog/cdn-5615/
• Contents Delivery Networkの略で、ウェブコンテンツを配信するのに最適化されたネットワークのこと
• Webサイトにある画像や動画・CSSなどの静的コンテンツを、Webサイトが管
理されている「サーバー」とは、別のサーバーにキャッシュし、そのサーバーが、代わりに配信
• 負荷が分散され、Webサイトの表示速度の向上にもなる
主要CDNサービス
• Akamai-Technologies – Google、amazon、ebay、yahooなども活用 – 世界中のインターネット通信量の15-30%を取り仕切っている模様
• Amazon: AWS, Cloud Front
– 従量課金制 – 試用枠有
• Cloud flare
– 無料 – 有料版有
6 Source: http://viral-community.com/blog/cdn-5615/
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義
5. Loopの検知・防止
6. Security Consideration
2016/3/23 7
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制御システムから構成される
本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
Protocolの概要
10
• Redirection Targetへの通信はHttp/Httpsベース • 具体的には、DNSを用いた方式とHTTPを用いた方式が存在 • 両方式でも同一のHTTPインターフェースを利用 • RI Interfaceが利用するMIME Media Typeはapplication/cdni [RFC7736]
本ドラフトのscope
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義 a. RI request b. RI response
5. Loopの検知・防止
6. Security Consideration
2016/3/23 11
本プロトコルが定義するメッセージ
12
dns or http
cdn-path
max-hops
dns or http
scope
error
cdn-path
request
response
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を転送するホップ数の上限
DNSベースのRedirection request: 例
14
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を転送するホップ数の上限
HTTPベースのredirection request: 例
16
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義 a. RI request b. RI response
5. Loopの検知・防止
6. Security Consideration
2016/3/23 17
本プロトコルが定義するメッセージ
18
dns or http
cdn-path
max-hops
dns or http
scope
error
cdn-path
request
response
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のリスト
(後述)
(後述)
20
DNSベースのRedirection response: 例1
21
DNSベースのRedirection response: 例2
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のリスト
HTTPベースのRedirection response: 例
23
scopeキーの役割
24
dns or http
scope
error
cdn-path
response iprange
scopeキーの活用例1
25
scopeキーの活用例2
26
errorキーの役割
27
dns or http
scope
error
cdn-path
response error-code
reason
エラーコード
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
errorキーの活用例 (DNS)
29
errorキーの役割 (HTTP)
30
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義
5. Loopの検知・防止
6. Security Consideration
2016/3/23 31
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
Agenda
1. 本発表のMotivation
2. CDNとは
3. 本ドラフトのscope
4. インターフェースの定義
5. Loopの検知・防止
6. Security Consideration
2016/3/23 33
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にこれらの情報が伝えられることはない