この節では、NCA を使用するために必要なファイルとコンポーネントについて説明します。また、NCA が Web サーバーと通信する方法についても説明します。
NCA 機能をサポートするにはいくつかのファイルが必要です。ほとんどのファイルは ASCII 形式ですが、バイナリ形式のファイルもあります。次の表に必要なファイルの一覧を示します。
表 2-1 NCA ファイル
ファイル名 |
機能 |
---|---|
NCA デバイスのパス名 |
|
サーバー上で構成されているすべての物理インタフェースについてホスト名が記述されているファイル |
|
サーバーに対応付けられるすべてのホスト名が記述されているファイル。NCA が機能するには、このファイルの各エントリが、対応する /etc/hostname.* ファイル内のエントリと一致していなければならない |
|
NCA サーバーを起動するスクリプト。このスクリプトは、サーバーのブート時に実行される |
|
NCA ロギングを開始するスクリプト。このスクリプトは、サーバーのブート時に実行される |
|
NCA が実行されるすべてのインタフェースが記述されているファイル。詳細は nca.if(4) のマニュアルページを参照 |
|
NCA 用のすべての構成パラメータが記述されているファイル。詳細は ncakmod.conf(4) のマニュアルページを参照 |
|
NCA ロギング用のすべての構成パラメータが記述されているファイル。詳細は、ncalogd.conf(4) のマニュアルページを参照 |
|
NCA で使用する IP アドレスとポートが記述されているファイル。詳細は、ncaport.conf(4) のマニュアルページを参照 |
|
ログファイル内のデータを共通ログ形式に変換するために使用されるコマンド。詳細は ncab2clf(1) のマニュアルページを参照 |
|
ブート時に複数のインタフェース上で NCA が実行するように設定するために使用されるコマンド。詳細は ncaconfd(1M) のマニュアルページを参照 |
|
AF_INET ソケットの代わりに AF_NCA ソケットを使用するライブラリ。このライブラリは AF_INET ソケットを使用する Web サーバー上で使用する。詳細は ncad_addr(4) のマニュアルページを参照 |
|
ログファイルのデータを保持するファイル。バイナリ形式のファイルなので編集できない |
|
ドアパス名 |
NCA が機能するためには、次のコンポーネントが必要です。
カーネルモジュール: ncakmod
Web サーバー: httpd
カーネルモジュール ncakmod は、Web ページのキャッシュをシステムメモリー内に保持します。このモジュールは、ソケットインタフェースを介して Web サーバー httpd と通信します。プロトコルファミリータイプは PF_NCA です。
また、カーネルモジュールは、すべての HTTP キャッシュヒットを記録するログ機能も備えています。NCA ロギングは、HTTP データをバイナリ形式でディスクに書き込みます。NCA には、バイナリログファイルを共通ログ形式 (CLF) に変換するユーティリティが用意されています。
次の図に、通常のデータフローと、NCA が有効になっている場合のデータフローを示します。
以下に、クライアントと Web サーバー間の要求フローを示します。
クライアントから Web サーバーに対して HTTP 要求が発行されます。
ページがキャッシュ内にある場合は、カーネル内キャッシュの Web ページが返されます。
ページがキャッシュ内にない場合は、Web サーバーに要求が送信され、ページが取得または更新されます。
ページがキャッシュされているかどうかは、HTTP 応答で使用される HTTP プロトコルのセマンティクスによって異なります。そのあと、ページがクライアントに返されます。HTTP 要求ヘッダーに Pragma:No-cache が含まれている場合、ページはキャッシュされません。