Download presentation
Presentation is loading. Please wait.
1
インターネット上の応用サービスの中継・変換・統合技術
プロキシサーバ「DeleGate」 産業技術総合研究所 情報処理研究部門 佐藤豊
2
DeleGateの概要 1994年生まれ・現在も成長中 多用途プロキシサーバ マルチプロトコル対応 マルチプラットフォーム対応
小規模Gopher専用プロキシ(SunOS版)からの持続的な成長 多用途プロキシサーバ アクセス制御、キャッシュ、経路制御、トンネリング、プロトコル変換、サーバ統合、コンテンツフィルタ、コンテンツ変換、… マルチプロトコル対応 HTTP,FTP,SMTP,POP,NNTP,Telnet,DNS,SOCKS,SSL,… マルチプラットフォーム対応 Unix,Windows,OS/2,MacOS-X 配布形態・配布状況 オープンソース・フリーソフト、148カ国・24,000サイト
3
DeleGateの多用途化の経緯 必要性 ⇒ 機能 ファイアウォール越え ⇒ アクセス制御付き中継 日本語非対応のブラウザ ⇒ コード変換
必要性 ⇒ 機能 ファイアウォール越え ⇒ アクセス制御付き中継 日本語非対応のブラウザ ⇒ コード変換 低速な広域ネットワーク ⇒ キャッシュ 不安定なネットワーク接続 ⇒ 経路制御・迂回 IP的に不連続なネットワーク ⇒ トンネリング中継 内部サーバ群を外部へ提供 ⇒ サーバ統合 翻訳中継・画像圧縮中継 ⇒ 外部フィルタ呼び出し プライバシー保護 ⇒ 暗号化通信
4
DeleGateの対応プロトコル 応用プロトコル 応用サービス HTTP,ICP ウェブ、キャッシュ SMTP,POP,IMAP 電子メール
応用プロトコル 応用サービス HTTP,ICP ウェブ、キャッシュ SMTP,POP,IMAP 電子メール NNTP 電子ニュース FTP ファイル転送 SOCKS,VSAP プロキシ中継 SSL 暗号化通信 DNS ドメイン名検索 Telnet,X 遠隔端末 Tcprelay,Udprelay 単純中継 LDAP ディレクトリサービス Lpr 遠隔プリンタ Gopher,Wais,CU-SeeMe,Ident 絶滅?
5
DeleGateのプログラム規模の推移 Ver.8 Ver.7 Ver.6 Ver.5 Ver.4 Ver.3 Ver.2 Ver.1
8年間に500回の改訂版リリース Ver.8 97年1月 Windows対応 Ver.7 Ver.6 Ver.5 Ver.4 94年6月 配布開始 Ver.3 Ver.2 94年3月 開発開始 Ver.1
6
DeleGateの配布状況(1) +7サイト/日
7
DeleGateの配布状況(2) (配布元サーバからのダウンロードホスト数)
8
クライアント/サーバモデル インターネット上の応用サービスの実現モデル 応用プロトコル 応用プロトコル
サーバは情報や機能を提供し、クライアントは通信を実行しながらそれを利用する 応用プロトコル サーバ/クライアント間の要求・応答の手順とデータの形式 各々の応用サービスごとに規定される HTTP,SMTP,FTP,… クライアント (1) 要求 サーバ 応用プロトコル (2) 応答
9
プロキシサーバ クライアントとサーバの間の通信を中継するサーバ サーキットレベルプロキシ アプリケーションレベルプロキシ
単なるバイト列として要求と応答を中継 (SOCKS) アプリケーションレベルプロキシ 応用プロトコルに固有な、要求と応答の手順とデータの形式を解釈しながら中継 クライアント サーバ プロキシ 要求 応答 (1) (3) (2) (4)
10
プロキシサーバの種類別得失 サーキットレベルプロキシ(SOCKS等) アプリケーションレベルプロキシ
単なるバイト列として要求と応答を中継 実装が容易、全ての応用プロトコルに共通に適用可 中継以外の用途への発展性は乏しい アプリケーションレベルプロキシ 応用プロトコルに固有な要求と応答の手順とデータの形式を理解して中継 実装が複雑(クライアントとサーバのサブセット機能×各プロトコル) 理解している内容にしたがってきめ細かな制御が可能 ただ中継するだけでなく、手順やデータの変換、フィルタ、統合ができる ⇒ 多様な付加価値サービスの実現可能性 DeleGateは両者を実現。後者の可能性を追及
11
ファイアウォール用プロキシ プロキシの一般的な用途 インターネット クライアントサイト側での利用 アクセス制御付き中継 コンテンツキャッシュ
有害コンテンツ除去 サーバ ファイアウォール クライアント プロキシサーバ インターネット
12
サーバ統合プロキシ 複数のサーバを一つのサーバのように見せて提供する サーバサイト側でのサーバ運用維持支援 組織
各部門では独自にローカルにサーバを運用 内容の更新やログの管理が容易 各サーバを組織の代表サーバに統合し提供 組織 サーバ プロキシ (統合サーバ) クライアント 要求の書き換え・転送 (プロトコル変換) (応答のキャッシュ) 応答の書き換え・転送
13
コンテンツ変換プロキシ プロキシが中継するコンテンツの変換 翻訳、通訳、圧縮、等、様々な応用 変換機能を外付けするインターフェイスが必要
クライアント サーバ プロキシ 要求 応答 (1) (3) (2) (4) Hi, どーも 日本語 翻訳 通訳 English
14
CFI:Common Filter Interface
プロキシに機能を外付けするインターフェイス コンテンツ変換、コンテンツフィルタ、プロトコル変換 プロキシサーバ用CGI、のようなもの 外付けフィルタプログラム+CFIスクリプト 開発の背景・動機 DeleGateに付加価値を付けて商用利用する申し込み 組み込みだとライセンス上の問題が生じる(国有財産…) 独立なプログラム同士として連携するだけなら無問題 CGI的な機能をプロキシに導入するとどうなるかに興味
15
CGI:Common Gateway Interface
動的コンテンツの提供 外部プログラムによる、HTTPサーバの機能拡張 インターフェイス仕様 入力 環境変数 プログラム引数 標準入力 出力 標準出力 プログラム記述言語 任意の言語 適用プロトコル HTTP ウェブサーバ ブラウザ HTTP 静的コンテンツ CGI 動的コンテンツ
16
CFI-CGIとの対比 サーバ 付加価値サービスの提供 インターフェイス仕様 プロキシ (DeleGate) プログラム記述言語
外部プログラムによる、プロキシサーバの機能拡張 インターフェイス仕様 入力 環境変数 プログラム引数 標準入力 出力 標準出力、標準エラー出力 プログラム記述言語 任意の言語 適用プロトコル 任意のプロトコル HTTP SMTP FTP … プロキシ (DeleGate) クライアント CFI 付加価値サービス
17
CFIの使用法 CFIスクリプト フィルタの挿入位置 適用フィルタの選択 ヘッダの加工 ボディの加工
要求フィルタ・応答フィルタ・双方向フィルタ #!cfi Content-Type: text/ Filter: en2ja -- Content-Type:image/gif Filter: gif2jpeg DeleGate クライアント サーバ
18
CFIによる暗号化プロキシの実現 任意のSSL非対応プロトコル、SSL非対応クライアント/サーバを、SSL対応に
SSL用フィルタは、CFIにより接続(OpenSSL使用) クライアント サーバ SSLフィルタ SSL SSL DeleGate
19
CFIの利点 単純・普遍的なインターフェイス仕様 任意の記述言語でフィルタを実装できる 既存ソフトをフィルタとして再利用が容易
DeleGateを改変せず利用可・独立な頒布 栄枯盛衰する基盤技術からの独立 応用プロトコル 記述言語
20
コンテンツ変換の応用実例 日本語コード変換 SSL暗号化中継 英日翻訳中継 画像圧縮変換中継 大阪弁変換フィルタ*
JIS,Shift_JIS,EUC-JP,UTF-8 SSL暗号化中継 英日翻訳中継 O社、S社、 農水省農業生物資源研究所* 画像圧縮変換中継 H社 大阪弁変換フィルタ* 携帯端末用コンテンツ圧縮・分割フィルタ
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.