ライブビデオブロードキャストの原理 - CDN

導入

  • CDN の正式名称は Content Delivery Network でコンテンツ配信ネットワークのことです。その目的は、既存のインターネットにネットワーク アーキテクチャの新しい層を追加して、Web サイトのコンテンツをユーザーに最も近いネットワークのエッジに公開することで、ユーザーが必要なコンテンツを近くで取得できるようにし、Web サイトの応答速度を向上させることです。ユーザーのウェブサイトへのアクセス。CDN はミラーリングよりもスマートであるため、ミラーリングとは異なります。つまり、CDN = よりスマートなミラーリング + キャッシュ + トラフィック迂回という比喩を使用することもできます。したがって、CDN はインターネット ネットワーク内の情報フローの効率を大幅に向上させることができます。技術的には、ネットワーク帯域幅の狭さ、ユーザーのアクセス数の多さ、コンセントの偏在などに起因する問題を総合的に解決し、ユーザーのWebサイトへのアクセスの応答速度を向上させます。

準備する

  • CDN をより深く理解するために、CDN ワークフローを見てみましょう。ユーザーが CDN サービスに参加している Web サイトにアクセスすると、まず DNS リダイレクト テクノロジを使用してユーザーに最も近い最適な CDN ノードが決定され、ユーザーのリクエストはそのノードに送信されます。ユーザーのリクエストが指定されたノードに到達すると、CDN のサーバー (ノード上のキャッシュ) が、ユーザーがリクエストしたコンテンツをユーザーに提供する責任を負います。具体的なプロセスは次のとおりです: ユーザーがブラウザにアクセスしたい Web サイトのドメイン名を入力すると、ブラウザはローカル DNS にドメイン名を解決するよう要求します。ローカル DNS はその要求を Web サイトのプライマリ DNS に送信し、プライマリ DNS はDNS は一連のポリシーに従って決定され、その時点で最適な CDN ノードが決定され、その解析結果 (IP アドレス) がユーザーに送信され、ユーザーは指定された CDN ノードに対して該当する Web サイトのコンテンツを要求します。

  • ユーザーがオリジン サイト ビジネスにアクセスするとパフォーマンスのボトルネックが発生するため、CDN テクノロジを使用してオリジン サイトのコンテンツを複数のノードにキャッシュします。ユーザーがオリジン ドメイン名へのリクエストを開始すると、そのリクエストはユーザーに最も近いサービス ノードにディスパッチされ、サービス ノードは直接かつ迅速に応答するため、ユーザー アクセスの遅延が効果的に短縮され、可用性が向上します。

知る

1. 利点

  • CDN の利点は明らかです:
    (1) CDN ノードは事業者間および地域間アクセスの問題を解決し、アクセス遅延が大幅に減少します; (
    2) ほとんどのリクエストは CDN エッジ ノードで完了し、CDN が迂回の役割を果たします。トラフィックの発生源であるステーションの負荷を軽減する役割を果たします。

2. CDN関連技術

CDN の実装はさまざまなネットワーク テクノロジのサポートに依存していますが、そのうちの主なものとしては、ロード バランシング テクノロジ、動的コンテンツ配信およびレプリケーション テクノロジ、キャッシュ テクノロジがあります。

2.1 負荷分散技術

負荷分散テクノロジは CDN で使用されるだけでなく、サーバー負荷分散やネットワーク トラフィック負荷分散など、ネットワークの多くの領域でも広く使用されています。名前が示すように、ネットワーク内の負荷分散とは、同じタスクを実行できる複数のサーバーまたはネットワーク ノードにネットワーク トラフィックをできるだけ均等に分散し、一部のネットワーク ノードの過負荷を回避することです。これにより、ネットワーク トラフィックが増加するだけでなく、ネットワーク全体のパフォーマンスも向上します。CDN では、負荷分散はサーバー負荷分散とサーバー全体負荷分散に分類されます (サーバー グローバル負荷分散とも呼ばれるものもあります)。サーバー負荷分散とは、パフォーマンスの異なるサーバー間でタスクを割り当てる機能を指します。これにより、パフォーマンスの低いサーバーがシステムのボトルネックにならないようにするだけでなく、パフォーマンスの高いサーバーのリソースが最大限に活用されるようになります。グローバルなサーバー負荷分散により、Web ホスト、ポータル、企業は地理的位置に基づいてコンテンツやサービスを配信できます。マルチサイトのコンテンツとサービスを使用してフォールト トレランスと可用性を向上させ、ローカルまたは地域のネットワーク停止、停電、または自然災害によって引き起こされる障害から保護します。CDN ソリューションでは、サーバー全体の負荷分散が重要な役割を果たし、そのパフォーマンスは CDN 全体のパフォーマンスに直接影響します。

2.2 動的コンテンツ配信および複製テクノロジー

ご存知のとおり、Web サイトへのアクセスの応答速度は、ネットワーク帯域のボトルネックの有無、通信時の経路の混雑や遅延の有無、Web サイトのサーバーとアクセスの処理能力など、さまざまな要因によって決まります。距離など ほとんどの場合、Web サイトの応答速度は、訪問者と Web サイトのサーバー間の距離と密接に関係しています。訪問者と Web サイト間の距離が遠すぎる場合、それらの間の通信も複数のルーティング、転送、処理を経由する必要があり、ネットワークの遅延は避けられません。コンテンツ配信・レプリケーション技術を利用して、Webサイトの本体を占める静的Webページ、画像、ストリーミングメディアデータの大部分を、さまざまな場所の高速化ノードに配信・複製する方法が有効です。したがって、動的コンテンツ配信および複製技術も CDN に必要な主要な技術です。

2.3 キャッシュ技術

キャッシュ技術はもはや新しい技術ではありません。Web キャッシュ サービスは、プロキシ キャッシュ サービス、透過的プロキシ キャッシュ サービス、リダイレクト サービスを使用した透過的プロキシ キャッシュ サービスなど、いくつかの方法でユーザーの応答時間を改善します。Web キャッシュ サービスにより、ユーザーが Web ページにアクセスするときの WAN トラフィックを最小限に抑えることができます。企業イントラネット ユーザーにとって、これは、Web ページを取得するために専用の WAN を経由するのではなく、コンテンツをローカルにキャッシュすることを意味します。インターネット ユーザーにとって、これは、インターネット経由で Web ページを取得することなく、コンテンツを ISP のキャッシュに保存することを意味します。これにより、ユーザーのアクセス速度が向上することは間違いありません。CDN の中核機能はネットワークのアクセス速度を向上させることであるため、キャッシュ技術も CDN で使用されるもう 1 つの主要な技術になります。

3. CDN アクセラレーションの例

  • ビジネスオリジンサイトのドメイン名が www.test.com であるとします。ドメイン名が CDN に接続され、アクセラレーション サービスが開始されると、ユーザーは HTTP リクエストを開始します。実際の処理フローは図に示すとおりです。 :
    ここに画像の説明を挿入します

    • ユーザーが www.test.com で 1.jpg などの画像リソースの要求を開始するときは、まずローカル DNS に対するドメイン名解決要求を開始する必要があります。

    • ローカル DNS が www.test.com を解決すると、CNAME www.test.com.cdn.dnsv1.com が設定されていることがわかり、解決リクエストが Tencent DNS (GSLB) に送信されます。GSLB はスケジューリングです。 Tencent Cloud が独自に開発したシステムで、リクエストに対して最適なノード IP が割り当てられます。

    • ローカル DNS は、Tencent DNS から返された解決 IP を取得します。

    • ユーザーテストは分析IPを取得します。

    • ユーザーは、取得した IP に対してリソース 1.jpg へのアクセス要求を開始します。

    • IP に対応するノード キャッシュに 1.jpg がある場合、データはユーザーに直接返され (10)、リクエストは終了します。ノードが 1.jpg をキャッシュしていない場合、ノードはビジネス起点サイト (6、7、8) に 1.jpg のリクエストを開始し、リソースを取得した後、ユーザー定義のキャッシュに基づいてリソースを保存します。戦略 (9) が返され、ユーザーに返され (10)、その時点でリクエストは終了します。
      ここに画像の説明を挿入します

    • これら 2 つのレベルのキャッシュ (ブラウザー、CDN) では、当然、キャッシュ更新の問題が発生します。

3.1 ブラウザキャッシュの更新

  • アドレス バーに URL を入力し、Enter キーを押すか、[実行] ボタン をクリックします
    。ブラウザは、リクエスト数が最も少ない Web ページのデータを取得します。ブラウザは、有効期限が切れていないすべてのコンテンツに対してローカル キャッシュを直接使用するため、リクエストの数が減少します。ブラウザへのリクエスト。したがって、Expires タグと max-age タグはこのメソッドでのみ有効です。

  • F5 またはブラウザの更新ボタンを押します。
    ブラウザは必要なキャッシュ ネゴシエーションをリクエストに添付しますが、ブラウザはローカル キャッシュを直接使用することはできません。Last-Modified と ETag を有効にすることはできますが、Expires に対しては無効です。

  • Ctrl+F5 を押すか、Ctrl を押して更新ボタンをクリックします。
    この方法は強制的に更新を行い、キャッシュを使用せずに常に新しいリクエストを開始します。

3.2 CDN キャッシュ

  • ブラウザーのローカル キャッシュの有効期限が切れると、ブラウザーは CDN エッジ ノードへのリクエストを開始します。ブラウザーのキャッシュと同様に、CDN エッジ ノードにもキャッシュ メカニズムがあります。

  • CDN のオフロード効果により、ユーザー アクセスの遅延が軽減されるだけでなく、配信元サイトの負荷も軽減されます。しかし、その欠点も明らかです。Web サイトが更新されたときに、CDN ノード上のデータが時間内に更新されない場合、ユーザーがブラウザーで Ctrl + F5 を使用してブラウザー キャッシュを無効にしても、CDN エッジ ノードは同期されません。最新のデータ。ユーザー アクセス例外が発生します。

3.3 CDN キャッシュ戦略

  • CDN エッジ ノードのキャッシュ戦略はサービス プロバイダーによって異なりますが、通常は http 標準プロトコルに従い、http 応答ヘッダーの Cache-control: max-age フィールドを通じて CDN エッジ ノードのデータ キャッシュ時間を設定します。

  • クライアントが CDN ノードにデータを要求すると、CDN ノードはキャッシュされたデータの有効期限が切れているかどうかを判断します。キャッシュされたデータの有効期限が切れていない場合、キャッシュされたデータはクライアントに直接返されます。それ以外の場合、CDN ノードはリターンを発行します。 -to-origin オリジン サイトへのリクエスト。オリジン サイトから最新のデータを取得し、ローカル キャッシュを更新し、最新のデータをクライアントに返します。

  • CDN サービス プロバイダーは通常、ファイル サフィックスとディレクトリに基づいて CDN キャッシュ時間を指定する複数のディメンションを提供し、より洗練されたキャッシュ管理をユーザーに提供します。

  • CDN キャッシュ時間は、「原点復帰率」に直接影響します。CDN キャッシュ時間が短い場合、CDN エッジ ノード上のデータが頻繁に失敗し、頻繁にオリジンに戻り、オリジン サイトの負荷が増加し、アクセス遅延も増加します。CDN キャッシュ時間が長すぎる場合、 、データ更新が発生して時間が遅い問題。開発者は、特定のデータ キャッシュ時間管理を実行するには、特定のビジネスを追加する必要があります。

3.4 CDN キャッシュのリフレッシュ

CDN エッジ ノードは開発者にとって透過的であり、ブラウザ Ctrl+F5 を使用してブラウザのローカル キャッシュを無効にする強制更新と比較して、開発者は CDN サービス プロバイダーが提供する「キャッシュの更新」インターフェイスを通じて CDN エッジ ノードのキャッシュをクリアできます。の。このように、開発者は「キャッシュの更新」機能を使用して、データの更新後に CDN ノード上のデータ キャッシュを強制的に期限切れにし、クライアントがアクセス時に最新のデータを確実に取得できるようにすることができます。

要約する

  • CDN = よりスマートなミラーリング + キャッシュ + トラフィック迂回

  • デバイス検出、シグナリング交換(画像処理、エンコード、ストリーミング、CDN、ストリーミング、デコード、画像処理)

  • この CDN 記事はインターネットから収集され、インターネット上で共有され、一般の学習と理解のみを目的としています: CDN_Global Encyclopedia

おすすめ

転載: blog.csdn.net/MOON_YZM/article/details/127538670