研究概要 |
ネットワークを通過する個々のパケットの中身を調べて指定した条件を満す場合に指定したアクション(情報を記録,パケットを破棄・変更,別のパケットを送信など)を起こすための汎用的な仕組みであるパケットフィルタシステムにおいては,複雑・大規模なフィルタ規則を記述できる柔軟性と,超高速ネットワークにも対応できる高速性を両立させることが究極の目標である.本研究では,わかりやすい(高水準の)フィルタ規則記述から,対象トラヒックに対して適応的に最適化された,高効率なフィルタリング手順を動的に生成するための基礎技術を確立することを目的とする. 本年度は,下位のマシン語レベルの特性を考慮した実行命令列の最適化に関しては,BPFの仮想マシンをモデルにして,最適化コンパイラの高度な技法を利用した条件分岐を含むループプログラムライン化(フィルタールール→C→最適化されたnative code、隣接する複数個のパケットに対する処理を適切にインターリーブして、機械語レベルの待ち時間を減らす)によって、インタプリタ方式(フィルタールール→中間コード→仮想マシン)に対して20倍、コンパイラ方式(フィルタールール→Cプログラム→native code、1パケットずつループして単純に処理を繰り返すことを想定、最適化コンパイラを利用)に対して3倍以上の高速化を達成できることを示した。
|