Web教材一覧ネットワーク

CDN(Contents Delivary Network)


CDNとは

大量の文書、音楽、動画など大容量のデジタルコンテンツをネットワーク経由で配信するときのサーバの配置やネットワークの最適化に関する技術、あるいは、それにより構成されたネットワークです。
 Web上のファイルサーバからファイルをダウンロード配信するための技術であり、オンデマンド動画配信やライブ配信などの技術ではありません。

オリジナルのウェブコンテンツが存在するファイルサーバーを「オリジンサーバ」と呼びます。このままでは、利用者から直接にオリジンサーバにアクセスするので、オリジンサーバは要求分析やファイルのダウンロード処理の負荷が増大してしまいます。
 それを避けるために、オリジンサーバーからウェブコンテンツを複数の「キャッシュサーバ」(ミラーサイト)にコピーして、オリジンサーバの代理でウェブコンテンツを配信します。それにより、オリジンサーバの負荷を分散して効率なウェブコンテンツ配信ができるだけでなく、インターネットからのオリジンサーバへの攻撃を避けることができます。
 このキャッシュサーバを運営している事業者をCDNサービスといいます。厳密ではありませんが、「窓の杜」や「Googleアプリ」などがそれにあたります。

キャッシュサーバの負荷が増大したときはサーバの個数を増やす(スケールアウト)ことになります。また、多数の利用者が世界中にいる場合は、ダウンロード時間の短縮のために、キャッシュサーバを利用者とのネットワーク距離が近い場所に散在させる必要があります。
 ネットワーク距離とは地理的距離とは一致しません。伝送時間は経路中のノードの数と回線速度でほぼ決まります。

コンテンツが追加・更新・削除されると、直ちに各地に散在する多数のキャッシュサーバにミラーリングする同期をとる必要があります。そのルールやシステムの最適化やネットワークの最適化が必要になります。
 また、利用者にはキャッシュサーバの構成は見えないので、URLは一つにして、しかも近くて空いているキャッシュサーバに接続する仕掛けが必要です。
 このような問題を解決する技術がCDNなのです。

CDN技術

キャッシュサーバのミラーリング
コンテンツそのものの更新と、更新したコンテンツの名称と更新したキャッシュサーバをもつ更新台帳を別に管理します。また、キャッシュサーバを論理的な階層にしておき、上の階層から順に更新します。
 リクエストがあったキャッシュサーバが更新されていなければ、順次上の階層をたどることにより、最新のコンテンツを得ることができます。
CDN回線
大規模なCDNサービスでは回線品質保証とセキュリティの観点から、遠隔地のキャッシュサーバ間独自のVAN網を構築しています。
SAN(Storage Area Network)
CDNに限定したものではありませんが、ストレージのための専用のネットワークです。 インターネットの主要プロトコルはTCP/IPですが、SANでは「ファイバ・チャネル」という異なるプロトコルが用いられています。キャッシュサーバ間での高速ミラーリングにも用いられています。
キャッシュサーバの自動指定
通常は www.aaa.jp のURLでアクセスすると、その領域にあるDNSのリスト(Aレコード)から、 www.aaa.jp IN A 192.168.100.10 を得て、目的のホストに接続します。
 CDNではDNSのCNAMEレコードを利用してwww.aaa.jp IN CNAME cache.aaa.com とすることにより、キャッシュサーバ cache.aaa.com につながります。このようにして適切なキャッシュサーバに切り替えることができるのです。