森下徹
moris****@nttco*****
2009年 10月 29日 (木) 17:00:46 JST
中居様 関係各位 森下です。いつもお世話になっております。 コメントをいただきながら、 回答が遅くなり申し訳ありません。 以下、インラインで失礼します。 中居憲久 さんは書きました: > 森下様 > > 中居です。 > お世話になっております。 > > ポイントにてコメント入れさせていただきます。 > > >> ご指摘のMultiQueueへの対応ですが、竹林様の指摘どおり >> インタフェース等が固まっていないこともあり、 >> Thread構成の検討なども含めて、次回開発以降で改めて検討する >> ことになりそうです。 >> >> ThreadPoolについてはご指摘どおりですので、採用する方向で >> 検討したいと思います。 > > 先週木曜日にOSSCのフェルナンド様のご尽力により、Japan Linux Symposiumに > てLinuxのNetworkメンテナのDavid.S-Miller様とMQのメンテナのHerbert-Xu様と > 話し合いの場を設けさせていただきました。 > 参加したのは > > David.S-Miller(RedHat), Herbert-Xu(RedHat),Fernando Luis Vazquez Cao,中 > 野,竹林,岡田,中居(順不同敬称略) > > そこで今取り組んでいるLinuxでのNetworkでの実装の解説及び、問題点などの意 > 識のすりあわせが出来たと思います。 > 従って、インタフェースのすりあわせの件についてはある程度めどがついていま > すし、LinuxKernel側の問題点(これについてはFernando様がPatchを書いてくだ > さるそうです)も改善されつつあります。 > これは別メールで詳しく資料化いたします。 > > ただ、Thread構成はプロトコルモジュールへの呼び出しの形自体を規程するた > め、次期開発以前にMQの構成を考慮したthread構成を取っておかないと構成変更 > は難しいかと思います。 情報、およびカーネルへの働きかけありがとうございます。 Thread構成については、現在VirtualServiceごとに ClientからRealServerまでの処理(上り?)を行うスレッドと RealServerからClientまでの処理(下り?)を行うスレッドを 複数起こして処理させることを考えています。 今開発ではこの構成とし、次回開発以降で更にMultiQueueへの対応 を進めていきたいと考えております。 >> 回答: >> 今回は現SSLProxyの機能をそのまま組み込むことを考えており、 >> HTTPSのみの対応で考えています。 >> >> 組み込む方法は、「l7vsd に組み込む」方法を考えており、 >> VirtualServiceにSSLを扱う、扱わないの属性を付与し、 >> SSL/非SSLの接続、通信処理を共存させて処理することを >> イメージしております。 >> (プロトコルモジュールのイメージではありません) >> >> 組み込まれたSSL機能は、デコード後のデータを各Protocolモジュールに >> 渡してこれまでどおりの処理を行うことを考えていますので、 >> SSLでもパーシステンス等の処理ができるよう考えています。 >> ラウンドロビンしかできないということはない考えです。 > > VirtualServiceの状態マシンが拡張されると考えてよろしいでしょうか? > ただ、各ProtocolModuleにも影響範囲は及びますよね? > 例えば、SSLIDモジュールをSSLModeのVirtualServiceで駆動することは意味がな > いですから、ProtocolModuleの属性としてVirtualServiceのModeで適用できる、 > 出来ないと云うものを持つ必要があり、かつ読み込み時(?)にエラーとして出力 > できないといけませんよね? > また、SSLの通信はトンネリングですからrecv/sendの状態マシンの考察としても > 単純に処理出来きず、状態遷移が結構複雑になるかと思います。 ご指摘どおり、SSL用に状態を追加し、各ProtocolModuleにも 対応処理を組み込むのが良い形と考えますが、開発規模がかなり 増大することが予想されます。 なので、今開発では開発期間を考慮し、SSL用の状態と非SSL用の 状態を分けずに共通的に処理させる方法で実現したいと考えて おります。 次期開発以降で、状態マシンの拡張について検討したいと 思います。 SSLIDモジュールに対するSSLMode時の扱いについては、 今開発の実装において検討いたします。 >> アクセスログはApacheで出力しているaccess_logのようなもの >> をイメージしています。中居様ご指摘のMultiLogとは、どのような >> ことを指しているのでしょうか? > > 現状のloggerでは1log固定ですよね。 > でも、apacheのlogではerrorlog等、logはserviceごとにまた、 > 種類によっても出力できますよね。 l7vsdのログとして、既存のログと、アクセスログを 別ファイルで出力することを考えています。 アクセスログには、 時間、sourceのIP:PORT、virtualserviceのIP:PORT、destinationのIP:PORT などの情報を出力することを考えており、serviceごと、種類ごとに ファイルは分けず、1ファイルへの出力を考えています。 以上、よろしくお願いいたします。