名称
DeleGate は、アプリケーションレベルプロキシーとして動作し、 クライアント/サーバー間で中継するプロトコル (制御シーケンスと、データ構造) を解釈し、 認識されたプロトコルに対し、さまざまな付加価値を実現します。また、DeleGate は、 サーキットレベルプロキシーとしても動作し、 TCP や UDP 上で、 クライアント/サーバー間の任意プロトコル通信を、正確に伝達します。
DeleGate は、アクセス制御 を強化するために、
送信プロトコル/到達サーバー/受容クライアントを制限します。
DeleGate は、禁止アクセスの繰返しに対し、
ペナルティとしてディレイを加えたり、
アタックの疑いに対し、自動的に管理者に報告を送信し、
また、サービスをシャットダウンし、防御します。
すべてのプロトコルで共通のサーキットレベルでの基本的なロギングと、
いくつかの共通書式でのプロトコル依存のロギングは、いくつかのプロトコルでサポートされます。
DeleGateは、一種のアプリケーションレベルルーター の役割をし、
上流プロキシーや、Socks サーバーによって選択される、
目的サーバーに向ける直接/間接ルートを制御します。
サーバーに向けた利用可能なルートのひとつは、アプリケーションプロトコル、
目的ホスト、ソースクライアント、の順序で試され選択されます。
アプリケーションレベルプロキシーの場合、
DeleGate は、さまざまなアプリケーションプロトコルを解釈しつつ中継し、
中継データ(それぞれのアプリケーションプロトコルの構造による)の
キャッシュ や、
変換
など、さまざまな付加価値のあるサービスを提供します。
アプリケーションプロトコルの解釈に基づいて、DeleGate を、
クライアントサイドプロトコル/サーバーサイドプロトコル間を変換する、
プロトコルゲートウェイ として使えます。
サーキットレベルプロキシーの場合、DeleGate サーバーは、
TCP や UDP 上の指定したアプリケーションプロトコルの指定したサーバーへ正しく送信したり、
Socks プロトコルを基本とした任意のサーバーへ向けます。
アプリケーションレベルプロキシーの場合、
DeleGate は、
他サーバーのリソースの仮想ビューを、エイリアス/マージや、
実サーバーの実名 (リソースやサービスを識別する URL) を隠すことで提供します。
それは、NFS ファイルマウントの一般化されたメカニズムに似ていますが、
異なったもので、データの内容を書きかえることで実現しています。
言いかえれば、これは、クライアントへ/からの仮想名を、
サーバーの実名にマッピング(書換え)しています。
ここでの名前は、サーバー/クライアント間での要求/応答メッセージ中の、
プロトコルに依存したデータストラクチャーに埋め込まれます。
この機能を、マウントと呼び、
例えば、リソース http://hostiN/ を http://hostx/iN/ として、
クライアントに見せたい場合に使います。
MOUNT は、DeleGate 組み込みアイコンとメッセージの
カスタマイズにも使えます。
クライアント と DeleGate 間および、DeleGate と サーバー間の通信は、
CFI
(Common Filter Interface) と呼ばれる単純な仕組みを利用し、DeleGate に関連づけされた、
ユーザー定義フィルタープログラムによって、
フィルター/変換できます。標準入力からデータを受け取り、標準出力に書き出す
既存プログラムは、そのまま CFI プログラムとして利用できます。
さらに、外部プログラムによるフィルタリングで、
HTTP ヘッダー削除
/生成を含むいくつかの
くり返し使用される機能は、DeleGate に組み込まれています。
ログファイルと、キャッシュファイルを含む、
全ての DeleGate のローカルファイル は、
単一のルートディレクトリー (DGROOT) に置かれ、
デフォルトで、DeleGate (プロセス) 所有者のプライベートファイルとなります。
しかし、それらは、異なったユーザー間で共有でき、
それぞれのファイルのパス名、所有者、アクセス権限をカスタマイズできます。
ログファイル名は、
エージングのため、日付値でパラメーター化でき、
また、キャッシュファイル名は、分散キャッシュディスクのため、
ハッシュ値でパラメーター化できます。
DeleGateは、多くのオプションで制御されますが、
-Pport オプションと、
SERVER=protocol パラメーターだけは、
ほとんどの場合、動作させる上で必須となります。
-P オプションは、DeleGate がどのポートで
クライアントからの要求を受けるかを指定します。
SERVER パラメーターは、
DeleGateが、どのプロトコルでクライアントと通信するか、
また、任意で、どのサーバーに通信を中継するかを指定できます。
オプションは、"+=URL" の記述により、ローカル/リモートリソースから読込めます。
通常、"+=/path/of/parameters" のように、
ローカルファイルを使用します。
(パラメーター置換を見てください)
(DGCONF も見てください)