283 Views
January 23, 24
スライド概要
2024年1月に開催されたJANOG53での「日本に上陸した新しい Cache、Open Caching を触ってみた。」における登壇資料です。
地域にトラフィックを分散するための新しいコンテンツ流通のモデルであるオープンでニュートラルな「Open Caching」の実証実験が行われました。このスライドでは、CDN事業者からみたOpen Cachingの可能性、CDN障害時やIPv6 SingleStackでの配信検証、QoE測定の結果、 ユーザーの誘導等について説明します。
1997年の設立以来、動画配信を主軸に事業展開。コーポレートメッセージ「もっと素敵な伝え方を。」を掲げ、テクノロジーを通じて世の中のコミュニケーションをよりよくすることを目指しています。 自社で保有・運営する独自のコンテンツ配信ネットワーク(CDN=Content Delivery Network)を活用した動画配信に加え、長年のノウハウを活かした動画の企画・制作・運用やWebサイト制作、システム開発、動画広告による収益化支援まで総合的なサービスとソリューションを提供。取引実績はメディア、大手企業をはじめ年間1,200社・10,000案件以上です。手がける技術領域は、ネットワークの物理層からアプリケーション層にわたり、日本屈指の大規模配信や最先端案件の実績も多数あります。 エンジニア向けオウンドサイト「Voice」公開中! https://voice.stream.co.jp/
JANOG53 Day3 2024年1月19日(金) 10:15~11:00 日本に上陸した新しい Cache、 Open Caching を触ってみた。 株式会社Jストリーム 高見澤信弘 2024年1月19日 株式会社Jストリーム © J-Stream Inc. All Rights Reserved.
自己紹介 ▶名前:高見澤信弘 ▶出身地:山形県天童市 ▶所属:株式会社Jストリーム (AS24253) 新卒でJストリーム入社 →エンジニア推進室&プロダクト企画部(アーキテクト) ▶お仕事 • 動画配信のためのネットワーク企画、構築 • CDN(Content Delivery Network)の企画、構築 ▶好きなもの • ロードバランサー → 家にBIG-IP • 19インチラックあるよ • 活動 • IPoE協議会 IPv6地理情報共有推進委員会 幹事 • 海賊版対策実務者意見交換会 海賊版対策技術検証チーム(WG) メンバー © J-Stream Inc. All Rights Reserved. 2
CDNの基本構成と今日のトピックス ▶CDNとは、画像や動画などの大容量のデータを効率よく配信する仕組み ▶CDNのポイントとOpen Cachingを使った結果を共有する ⇒ キャッシュサーバーはなるべくエンドユーザーの近くに置く ⇒ エンドユーザーに近いキャッシュサーバーにトラヒックを誘導する 配信サーバーにデータをキャッ シュしているため負荷がかかり にくい CDNの配信サーバーにデータを 一時的に記憶(キャッシュ) 多数の配信サーバーで構成したCDN エンドユーザーへ、最適経路 で効率的にコンテンツを配信 ISP障害時は 他のISPへ誘導 © J-Stream Inc. All Rights Reserved. 3
国内CDN事業者からみたOpen Cachingのメリット エンドユーザーの近くのキャッシュサーバーから配信することで ネットワークの公平性(ISPにやさしい)を担保し、高い視聴品質を保つ Open Cachingの共有キャッシュサーバーを用いることでISP内への キャッシュサーバー展開を実現(分散の促進) 構成概念図 広域負荷分散(GSLB) ISP内にOpen Cachingの共有キャッシュ サーバー(OCN)を設置することで、大規 模配信と視聴品質の向上を実現 インターネット 東阪+地域 IX CDN Cache (エッジ拠点) CDN Cache (東阪・福岡のIX拠点) 東販IXに加えて、福岡で もIX接続を実施し、地域 ISPともトラヒック交換中 地域ISP / CATV 大手ISP / キャリア © J-Stream Inc. All Rights Reserved. ピアリングしていないISPに 対しては、大手DC事業者内 にキャッシュサーバーを設置 4
検証してみてわかったこと ▶障害試験やIPv6 SingleStackでの配信試験など、貴重な検証ができた MUX 権威DNS IPv6 Onlyでも配信できた (QoE測定用ビー コン配信) OCC (OpenCaching Controller) Origin (AWS) transit JPIX Peering Cache DNS CableTV (c) Edgeとなるキャッシュサーバーの Open Caching 障害時の挙動として、Shieldと Open Caching shield (JPIX) なるキャッシュサーバーにフェイル Edge (CableTV) オーバーする挙動も確認できた © J-Stream Inc. All Rights Reserved. PC/User Router Traffic flow at normal 5
QoE測定の結果(Request Latency) ▶ 動画再生時の”First byte”はOpen Cachingの方がスコアがよかった 距離的に近いOpen Cachingが有利だが、差は小さい 当日資料のみ Video Performance Analytics and QoE Monitoring, https://www.mux.com/data, 2023/12/5 12:00 – 12/31 11:59 © J-Stream Inc. All Rights Reserved. 6
QoE測定の結果(Experience) ▶動画の全体的な視聴者エクスペリエンス 全CDNにおいて100(最高スコア)となり差は出なかった 当日資料のみ Video Performance Analytics and QoE Monitoring, https://www.mux.com/data, 2023/12/5 12:00 – 12/31 11:59 https://docs.mux.com/guides/data-overall-viewer-experience-metric © J-Stream Inc. All Rights Reserved. 7
CDNの要素技術:トラヒックの誘導 ▶多数配置したキャッシュサーバーに対して、誰を誘導するか =どのキャッシュサーバーから誰に配信するか Open Cachingは、各ISP内のキャッシュサーバー (IPアドレス)に対して誘導するため、 DNSを使った 誘導をしている ▶大きく3つから各CDN事業者が選択しているが、複数の仕組みを組み合わせている場合も多い 方式 DNS IP Anycast API 誘導の単位 (精度) 概要 利用用途 備考 キャッシュ DNSサーバー キャッシュDNSサーバーから名前解決の問い合 わせを受けた際に、最適なキャッシュサーバー のIPアドレスを返答する。DNSの仕組みを利用 しているため汎用性が高い。 一般的 多数の CDN事業 者 ロードバランサー(アプライアン ス)やオープンソースソフトウエ アもあり、選択肢が豊富 AS番号 相手先ネットワーク毎に配信したい拠点からの 一部CDN み経路広報することで、トラヒックを誘導する。 事業者 大まかな制御となるため大陸など大きな単位で 制御する場合に利用されることが多い。 この方法だけでは、細かい制御は 難しいため、他の方法と組み合わ せている場合も多い クライアント IPアドレス コンテンツアクセス(例えば動画)とは別に制 大手OTT 御用APIを用いて接続する先のサーバー情報をク 事業者 ライアントに直接指示する。 同時に視聴品質データなどもやり取りすること で、より細かい制御が可能 サイトの作りや動画プレイヤーな どの作り込みが必要となるため、 採用にはハードルがある(自社で コントロールできるOTT事業者が 採用する) © J-Stream Inc. All Rights Reserved. 8
DNSを使ったトラヒック誘導の課題(1) ▶DNSベースでのトラヒック誘導の課題 誘導の精度がキャッシュDNSサーバーベースになってしまう ※ECSの話は後ほど ▶ISP側の要望(1):栃木ケーブルテレビ様等の特定地域ISPの場合 キャッシュサーバーが1台(特定地域内に限定して少数) 特定地域のエンドユーザーを誘導したい ▶Open Cachingにおいて誘導に使えるパラメーターで十分 同一地域内にDNSサー バーもキャッシュサーバも まとまっていれば、ポイント での誘導が可能 AS番号 キャッシュDNSサーバーのIPアドレス エンドユーザーのいるプレフィックス情報 ※一方でキャッシュサーバーにおいて障害が発生した場合の挙動は石川さんの発表の通り Shieldサーバーからの配信となり、トランジットを経由したトラヒックの流れにはならない © J-Stream Inc. All Rights Reserved. 9
DNSを使ったトラヒック誘導の課題(2) ▶ISP側の要望(2):全国型のISPの場合 キャッシュサーバーが複数(複数の地域に分散して多数) 特定地域内のユーザーを誘導したい(トラヒックを処理したい) ▶複数の地域で同一のキャッシュDNSサーバーが利用されている場合、 コントロールの精度がキャッシュDNSサーバー単位になる → キャッシュサーバーを地域分散するので一番近いキャッシュサーバーに誘導したい ▶解決方法は複数あるが、例えばECSを使う方法 EDNS Client Subnet (ECS) – RFC 7871 クライアントのIPアドレスのサブネットを権威DNSサーバーに伝えられる → Open CachingのGSLBもECSに対応している 全国で同一のDNSサーバーを使っていると地理的に近い キャッシュサーバにピンポイントに誘導ができない © J-Stream Inc. All Rights Reserved. 10
ECSの動きについて ▶dig コマンドのオプションでECSオプションを付けることが可能 $ dig -v DiG 9.16.1-Ubuntu $ dig host01.example.net @nsXX.example.net +subnet=192.0.2.0/24 ▶UnboundでのECSオプション関連の設定 •unbound.conf • server: • module-config: “subnetcache validator iterator” • send-client-subnet:0.0.0.0/0 • send-client-subnet: ::0/0 キャッシュサイズに関連するパラメーター • client-subnet-zone: <domain> • max-client-subnet-ipv6: <number> • max-client-subnet-ipv4: <number> • min-client-subnet-ipv6: <number> • min-client-subnet-ipv4: <number> ▶WireShark Ver.4.0.8 でデコードした結果 参考文献 - Public DNS:CDNへの影響, https://www.kosho.org/blog/cdn/public-dns/ - NLNETLABS Dosumentation unbound.conf 1.19.0, https://nlnetlabs.nl/documentation/unbound/unbound.conf/ © J-Stream Inc. All Rights Reserved. 11
まとめ ▶国内CDN事業者からみたOpen Cachingについて ▶春、秋と2回の検証によって得られた知見の共有 冗⾧性やIPv4/v6 DualStackの対応は完了 ▶国内でもレイテンシーの差は出る よりダイレクトな配信となりトラブル発生時切り分けやすさ、 キャパシティーの強化が期待できる ▶ユーザーの誘導についてOpen Cachingの対応状況 ECSについてのご紹介(今後も検証を継続) © J-Stream Inc. All Rights Reserved. 12
議論のポイント ▶ISP/CP/CDNの各プレーヤーの立場で、CDNに関連して 困っていること・求めること・解決したいこと どのぐらい思い通りにトラフィックを制御できているか? トラフィック制御について、どのような工夫をされているか? ISP内内のEdge サーバーがダウンした際の挙動と対策 ▶CDNに関する最近の動向で気になるところ? IP Geo LocationやパブリックDNSの利用 ECSを使ったキャッシュサーバーの運用トピックス マルチCDNへの対応の変化などなど © J-Stream Inc. All Rights Reserved. 13