コンテンツ配信とCDN
コンテンツ配信ネットワークは、ユーザーの近くにあるサーバーにコンテンツのコピーを配置し、各リクエストを適切なレプリカに誘導することで、遅延とオリジンサーバーの負荷を軽減し、大規模なウェブおよびビデオ配信を可能にします。
Definition
コンテンツ配信ネットワークは、エンドユーザーの近くにコンテンツのコピーを保存および提供する、地理的に分散されたサーバーシステムであり、遅延、損失、およびオリジンサーバーの負荷を軽減するために、各リクエストを適切な近くのレプリカにリダイレクトします。
Scope
このトピックでは、インターネット規模でのコンテンツ配信方法について説明します。具体的には、ユーザーの近くにコンテンツを複製する理由、地理的に分散されたキャッシュを持つコンテンツ配信ネットワーク(CDN)のアーキテクチャ、ユーザーを近くのレプリカに誘導するメカニズム(多くの場合DNSを介して)、アダプティブビットレート技術を含むストリーミングビデオの特別な要件、およびCDNと基盤となるネットワークとの相互作用についてです。これは、命名およびアプリケーションプロトコルに基づいて構築されており、詳細なメディアエンコーディングと配信下の転送メカニズムは除外されます。
Core questions
- ユーザーの近くにコンテンツを複製すると、パフォーマンスとスケーラビリティが向上するのはなぜですか?
- CDNはどのように組織され、そのサーバーはどこに配置されていますか?
- ユーザーのリクエストはどのようにして適切なレプリカに誘導され、DNSはどのような役割を果たしますか?
- アダプティブビットレートストリーミングは、変動するネットワーク上でどのようにビデオを配信しますか?
- CDNは基盤となるインターネットトポロジーやISPとどのように相互作用しますか?
Key concepts
- コンテンツ複製
- コンテンツ配信ネットワーク(CDN)
- エッジキャッシュサーバー
- DNSを介したリクエストリダイレクト
- 近接性および負荷認識
- ビデオストリーミング
- アダプティブビットレート(HTTPチャンク)ストリーミング
- オリジンサーバーオフロード
Key theories
- 複製と近接性
- ユーザーの近くにある多数のサーバーにコンテンツを配置することで、ネットワークパスが短縮され、遅延と損失が減少し、オリジンサーバーとバックボーンからの負荷が分散されます。中心的なエンジニアリング上の問題は、レプリカをどこに配置し、どのレプリカが各リクエストに応答するかを選択することになります。
- リクエストリダイレクト
- CDNは、ネットワークの近接性と現在の負荷に関する知識を使用して、各クライアントを近くの健全なレプリカに誘導します。これは通常、DNSルックアップへの応答として選択されたサーバーのアドレスを返すことによって行われます。
- アダプティブビットレートストリーミング
- ストリーミングビデオは複数の品質レベルでエンコードされ、HTTPを介して取得されるチャンクに分割されます。クライアントは現在の帯域幅に合わせて要求するビットレートを調整し、これによりCDNのHTTPベースの配信に適応し、変動するネットワーク状況に対応します。
Clinical relevance
CDNはインターネットトラフィックの大部分を運び、ウェブページ、ソフトウェアアップデート、特にビデオを大規模かつ良好なパフォーマンスで配信するために不可欠です。これらは世界中のユーザーの遅延を減らし、オリジンサーバーを過負荷から保護し、消費者によるインターネット利用を支配するストリーミングサービスを支えており、コンテンツ配信は現代のウェブのパフォーマンスの中心となっています。
History
1990年代後半にウェブトラフィックが急増するにつれて、ユーザーの近くにコンテンツをキャッシュするためにコンテンツ配信ネットワークが出現し、Akamaiが初期の有力な例となりました。その後、オンラインビデオの成長により、CDNとHTTPベースのアダプティブストリーミングがインターネット配信の中心となり、CDNはユーザーの近くで計算も実行するエッジプラットフォームへと拡大しました。
Key figures
- Ramesh K. Sitaraman
- Erik Nygren
- James F. Kurose
Related topics
Seminal works
- kurose2021
- nygren2010
Frequently asked questions
- CDNはウェブサイトをどのように高速化しますか?
- CDNは、ウェブサイトのコンテンツのコピーを世界中に分散されたサーバーに保存し、各ユーザーに近くのサーバーから提供します。これにより、ネットワークパスが短縮され、遅延と損失が低減され、オリジンサーバーの負荷が軽減されます。その結果、特にオリジンから遠いユーザーにとっては、ページの読み込みが速くなり、ストリーミングがスムーズになります。
- CDNはどのサーバーが私にサービスを提供すべきかをどのように決定しますか?
- CDNは、ネットワークの近接性、サーバーの負荷、および可用性に関する情報を使用して適切なレプリカを選択し、そのレプリカにリクエストを誘導します。これは通常、デバイスがDNSでサイト名を検索したときに、そのサーバーのアドレスを返すことによって行われます。目標は、コンテンツを迅速に配信できる、近くの健全なサーバーを見つけることです。