研究概要 |
ネットワークを通過する個々のパケットの中身を調べて指定した条件を満す場合に指定したアクション(情報を記録,パケットを破棄・変更,別のパケットを送信など)を起こすための汎用的な仕組みであるパケットフィルタシステムにおいては,複雑・大規模なフィルタ規則を記述できる柔軟性と,超高速ネットワークにも対応できる高速性を両立させることが究極の目標である.本研究では,わかりやすい(高水準の)フィルタ規則記述から,対象トラヒックに対して適応的に最適化された,高効率なフィルタリング手順を動的に生成するための基礎技術,特にトラヒック計測・予測及び動的コード最適化の手法を確立することを目的とする. 本年度は,既存のパケットフィルタシステムであるBPF(Berkley Packet Filter)をベースとして基本的な検討を行い,研究の方向性を定めた.高位のフィルタ規則の適用順序の動的最適化に関しては,単純な階層化(受信パケットの種類に応じて先頭で分岐し,以降の適用順序を変更する)を行なうユーザレベルのフィルタプログラムを試作し,そのような単純な順序変更だけでもフィルタリング性能が大幅に向上することを実トラヒックを使った実験によって示した.一方,下位のマシン語レベルの特性を考慮した実行命令列の最適化に関しては,BPFの仮想マシンをモデルにして,最適化コンパイラの高度な技法を利用した条件分岐を含むループプログラムの命令列の最適化手法を検討し,今後の方向性に関して一定の目処を得た. 今後は,動的最適化に不可欠なトラヒック予測に関しても手法の検討・実装を行いながら,システム全体のアーキテクチャを検討し,各々の機能を組み込んだフィルタシステムを試作し,実験によって評価していく.
|