スイッチングHUBのフラッディングは遅い
ここのところ、納期の近いネットワークブリッジの開発を行っています。
日本シー・エー・ディーでは、コンピュータとコンピュータの間にブリッジして(挟み込んで)遅延回線をシミュレートする「Ethdelay」や、同じくブリッジしてメールの宛先を制限する「BridgeFilter SMTP」などを作っているので、特注のブリッジも開発したりしています。
この新しいブリッジの性能を評価するために、こんな感じのネットワーク構成で実験をしていました。
スループットは 数百Mbps でなかなか結果は良好。
では、次に実際に近い状況でということで間に普通のスイッチングHUBを挿入しました。
するとどうでしょう、なんと 9Mbps しか出なくなってしまいました。(スイッチングHUBは1Gbps対応品)
最初なかなか理由がわかりませんでしたが、HUBのランプの光かたでぴーんとひらめきました。
スイッチングHUBは、はじめて見かけた送信先MACアドレスのフレームはフラッディングといって全てのポートから出力します。
どこかのポートからそれと同じMACアドレスからの応答フレームをみつけると、以後特定のポートだけでの通信を行います。
今回の実験では、テスト中常時全てのポートのアクセスランプが光っていたので、全データがフラッディングされていたようです。
測定に使ったプログラムが、自社製のARPなどの余計なパケットを出さないものなので、片側通信だけを測定するとスイッチングHUBがポートの学習をできなかったようです。
テストを行う前に、一度双方向の通信を発生させスイッチングHUBに学習させたら、無事数百bpsでるようになりました。
ネットワークの勉強では、「スイッチングHUBはポートの学習をするので高速です」とよく言われますが、
まさかここまで違うとは!という感じです。
興味のある方は一度実験してみると面白いかもしれません。