Open Flow で創る Firewall と Load Balancer は使えるのか?
»
SDN / OpenFlow への期待が高まり、あちらこちらで大賑わいな状態ですが、僕のところでも SDN 関連の調査検討を進めていまして、研究員から詳細なブログ第一弾を発表させていただきました。
詳細はブログを直接読んでいただきたいのですが、Open Flow コントローラの Ryu を使った Firewall と Load Balancer 機能の検証と考察は興味深いです。 (僕が詳しくないだけかも知れませんけれど・・)
ファイヤーウォール機能は Ryu が提供する rest_firewall.py で提供されているのですが、これで作った FW では、FTP のパッシブモードのような動的に決定されるTCPポートへの対応などが苦手だということです。 (もちろん、フローテーブルでの対応でなく、コントローラー側でPASVコマンドの返り値を基にポート番号を算出する事は可能)。
また、ロードバランサー機能に関しては、同じ宛先に対して通信経路のトラフィック流量によって、通信経路を変更するということが実現できたとのこと。トラフィック流量を調べる為にFlow Removed というメッセージを利用する。 少々違和感はあるのですが、登録したフローエントリーが削除された際に発生する Flow Removed メッセージが保持する『処理したトラフィック量のカウンター』で通信経路のトラフィック利用率を判断し、動的に通信経路を変更しようというものです。SDNのうたい文句である『情報が集約されるコントローラー側で判断して、動的に変更する』といった使い方なのですが、実験環境においてもコントローラ側で判断を行うタイミングで、パケットロスは無いものの若干の遅延が確認されています。このあたりが、実環境においてどのような影響がでてくるのか、が気になるところです。
その他、検証の手順、結果とその考察について以下のブログで発表していますので、是非ご覧ください。
SpecialPR