技術ブログ
現在、Ethernetネットワークを構築するために使用されるL2スイッチは、 特定のホスト間で送受信されるパケットを、それらのホストが接続されていない無関係なポートに出力しません。
┌─────────┐ ┌─────┐ ┌──────┐ │ │ ←── │ │ ←── │ │ │データベースサーバ├────┤ スイッチ ├────┤クライアント│ │ │ ──→ │ │ ←─→ │ │ └─────────┘ └──┬──┘ └──────┘ │ │ │ ┌──┴──┐ │ │ │ │ │ │ └─────┘
この動作は、不要なパケットの処理にともなう負荷を軽減できるため、 通常の用途においては望ましいですが、何らかの理由で特定のホスト間で 送受信されるパケット通信を覗き見したい場合には問題となります。たとえば、トラブルシュートのため、パケットをキャプチャして詳細な調査をしたい場合などです。
このような場合は、特定のホスト間で送受信されるパケット通信を、それらのホストが接続されていないポートにコピーする機能をもつ特殊なスイッチを使用する必要があります。
このような機能を持つスイッチは、単にパケットをキャプチャするだけではなく、アプリケーションに近い上位の処理を監視するOracle Database Firewallのような製品にも活用できるため、1つあると何かと便利です。
しかし、あまり広く使われる種類の製品ではないため、価格が高価だったり、すでに販売を終了していたりと手ごろに入手できるものを見つけることができず、結果として入手しそびれていました。少し前、あらためて再度探したところ、フラッディングモード機能をもつ安価なスイッチとしてCentreCOM GS905LF を見つけ、購入しました。11,000円~12,000円程度で入手できるのでお勧めです。
なお、このような機能を持つスイッチには、トラフィックをある特定のポートだけにコピーするミラーポート機能を持つスイッチ、全てのトラフィックを全てのポートにコピーするフラッディングモード機能を持つスイッチ の2種類があり、若干動作が異なる点にご注意ください。
┌─────────┐ ┌─────┐ ┌──────┐ │ │ ←── │ │ ←── │ │ │データベースサーバ├────┤ スイッチ ├────┤クライアント│ │ │ ──→ │ │ ←─→ │ │ └─────────┘ └──┬──┘ └──────┘ ││ ││copy │↓ ┌──┴──┐ │ Oracle │ │ Database │ │ Firewall │ └─────┘
フラッディングモード機能をもつスイッチを使用して、Oracle Database Firewallを構成した例を示します。 このような構成での使用形態をOracle Database Firewallではアウトオブバンド構成と呼んでいます。