1.CDNとは
米国のアカマイ社が有名であり、インターネット世界総量の20%以上をこの会社のネットワークが利用されているとも言われている。YahooやGoogleなどを経由して動画を見ていても、実際のサーバはアカマイ社のものを利用しているケースが多いようだ。
動画のトラヒックは日々増えており、かつリアルタイム通信の要求が増えている。
非同期で提供すればよいのであれば、時間をずらして提供すればよい。しかし、リアルタイムになると圧縮技術などを駆使した技術的な対策が求められる。
CDNでは、各拠点にコンテンツのコピーを持つサーバを配置する。利用者はコピーから情報を入手することで、配信元の負荷を軽減する。
この仕組みがあったおかげで、700万人が見たともいわれるオバマ大統領のリアルタイム配信が可能になった。
参考であるが、Amazon CloudFrontはAWSが提供するCDNサービスで、どうやら試験センターのIPAも利用している様子である。以下は、CloudFrontの仕組み紹介。
https://business.ntt-east.co.jp/content/cloudsolution/column-480.html
2.CDN の仕組み
2.1 CDNの構成
・CDNは,オリジナルのコンテンツをもつオリジンサーバと,複製したコンテンツを保管したエッジサーバで構成されます。エッジサーバは,オリジンサーバが複製したコンテンツを保管し,視聴者にコンテンツを配信する機能を持ちます。
・エッジサーバは,コンテンツがキャッシュされている場合とそうでない場合にて,動作が異なります。
2.2 CDNの動作
HTTPクライアントからのHTTPリクエスト(❶)は,世界中に設置されたエッジサーバが受けます。コンテンツがエッジサーバにキャッシュされている場合とされていない場合のそれぞれで,通信の流れを紹介します。
(1)コンテンツがキャッシュされていない場合
エッジサーバは,プロキシとして動作します。オリジンサーバからコンテンツを取得し(❷,❸)HTTPクライアントに応答として返します(❺)。このとき,コンテンツをキャッシュとしてエッジサーバ内に保存(❹)します。
(2)コンテンツがキャッシュされている場合
エッジサーバは,キャッシュを応答として返します(❷)。オリジンサーバにはアクセスしません。
これらの動作はHTTPプロトコルを使って自動的に行われるので,特別な運用は不要です。「特別な運用」とは,オリジンサーバ内のコンテンツをエッジサーバに配信するなどを意味します。
これは、多くの企業に設置されているProxyサーバが,インターネット通信を自動でキャッシュするのと同じです。エッジサーバが自動でコンテンツをキャッシュするからです。
では、どうやってHTTP クライアントからの通信を,エッジサーバに向けるのですかというと、DNSを使います。
3.CDNの動作を過去問(H29PM2-1)で確認
ここからは、過去問(H29PM2-1)をもとに、動作を解説します。
A社の場合には,Web-Bをオリジンサーバに指定する。B 社CDNを適用する場合には,B社から割り当てられるFQDN “webasha.bshacdn.example.net”を使ってアクセスする。 |
「Web-Bをオリジンサーバに指定する」とありますが,具体的にはオリジンサーバのIPアドレスをCDNに登録します。この登録により,エッジサーバは,オリジンサーバであるWeb-Bからコンテンツを取得します。
では,以降の問題文にある図5を見て下さい。本来(CDNを適用しない場合)はWeb-Bにアクセスするところを,DNSの設定によって,エッジサーバにアクセスさせます。
色文字で示した部分は,サーバのIPアドレスとホスト名の情報です。このあとに記載されるDNSのゾーンファイルと照らし合わせてください。
また,DNSフルリゾルバとは,自身ではゾーン情報を持たず,DNSクライアントの要求をもとに外部への問合せだけを行うDNSサーバのことです。キャッシュDNSサーバとも呼びます。
下側のwebtest(Web-A)への通信は、CDNを使わないので、今回は無視してください。
図5のDNS-AとDNS-Bのゾーンファイルの具体的な記述内容が示されています。i6は、Web-BのIPアドレスです。
ここからは、CDNを使わない場合の流れです。
A社向けIaaS環境にあるWeb-Bにアクセスします。
Web-BのFQDNはweblive.asha.example.comであり,asha.example.comドメインのDNSサーバはDNS-Aです。
流れは以下のとおりです。
❶名前解決の要求 (b1,b2)
機械は,DNSフルリゾルバを経由してDNS-AにwebliveのIPアドレスを問い合わせます。
❷名前解決の応答(b2,b1)
DNS-Aから「IP アドレスはi6」という回答が届きます。
❸Web-Bへのアクセス(b3)
機械は,Web-Bへアクセスします
本運用モードでCDNを使うときは,エッジサーバにアクセスさせます。このときの注意点として,asha.example.comドメインのDNSサーバはDNS-Aですが,bshacdn.example.netドメインのDNSサーバはDNS-Bであることを覚えておきましょう。
流れは以下のとおりです。
❶名前解決の要求(b1,b2)
機械は,DNSフルリゾルバを経由してDNS-AにwebliveのIPアドレスを問い合わせます。
❷名前解決の応答(b2,b1)
問題文には,「B社CDNを適用する場合には,次のレコードに置き換える」とあります。
❸名前解決の要求(c1)
bshacdn.example.netドメインのDNSサーバであるDNS-Bに対し,
webasha.bshacdn.example.net のIP アドレスを問い合わせます。
❹名前解決の応答(c1)
DNS-Bは,最寄りのエッジサーバのIP アドレスを応答します。
❺エッジサーバへのアクセス(c2)
機械は,エッジサーバへアクセスします。
5.古いCDNの過去問(H16秋NW午後Ⅱ問2)
H16秋NW午後Ⅱ問2にCDNの問題があります。
〔CDNの目的と仕組み〕
CDNの目的と仕組みについて,I係長がH課長に説明した内容は,次のとおりである。
CDNは,VOD (Video On Demand)のようなストリーミング型の映像配信サービスを,インターネットを利用して,高いサービス品質で提供するためのネットワークである。インターネットを経由してコンテンツを配信し,視聴者がPCでリアルタイムに再生する場合,トラフィックや負荷の集中によってサービス品質が低下することがある。その要因となるのは,ルータ,スイッチングハブ,サーバ,回線などのネットワーク構成要素である。 CDNを利用すれば,これらが要因となって発生するサービス品質の低下を抑止できる。
CDNは,次の三つの要素で構成される。
① オリジンサーバ
② キャッシュサーバ
③ コンテンツ複製ネットワーク
オリジンサーバは,オリジナルコンテンツの登録,管理などを行い,コンテンツ複製ネットワークを使用して,キャッシュサーバにコンテンツを複製する機能をもつ。キャッシュサーバは,オリジンサーバが複製したコンテンツを保管し,視聴者にコンテンツを配信する機能をもつ。コンテンツ複製ネットワークは,オリジンサーバに登録されているコンテンツをキャッシュサーバに複製するために使用される。コンテンツは,キャッシュサーバから配信されるので,(ア)キャッシュサーバが設置されたISPの利用者に対して、高品質の映像配信サービスの提供が可能になる。
H課長:CDNの目的と仕組みは理解できた。映像配信サービスを提供するためには,CDNを利用した方がよさそうなので,CDNを利用したコンテンツ配信システムを具体化させてくれないか。
H課長の指示を受けて,I係長は,コンテンツ配信システムの構成,コンテンツ複製方式,映像配信サービスの提供方式などをまとめた。