0

mininet (2.1.0) を使用して作成された仮想ネットワークの一部であるスイッチ (Open vSwitch 2.0.2、Open Flow 1.3 をサポート) を監視するために、ryu コントローラー (3.22) を使用しています。これは、深さ = 2、ファンアウト = 5 のツリー トポロジです。私はswitch_monitor.pyを使用しています。

コントローラーの助けを借りて、EventOFPPortStatsReplyデコレーターを使用してポート統計を取得できます。rx_packetsrx_bytesrx_errorstx_packetstx_bytestx_errorsなどrx_droppedの値を取得できますtx_dropped

ただし、qdisc (linux コマンド) によって報告されるように、スイッチが実際にパケットをドロップしている場合でも、 の値は常にゼロrx_droppedtx_droppedなります。

Open Flow スイッチからパケット損失統計を取得する方法は?

a. ゼロ以外の値を取得するには?

b. 別の方法はありますか?

4

2 に答える 2

0

は、実際のルールまたはバッファ オーバーフローがdropped原因でドロップされたパケットのみを気にすると思います。drop

パケット損失を計算するもう 1 つの方法は、リンクの端にある 2 つのスイッチのパケット数を比較することです。A <--> BA から B へのパケット損失率を計算したいとします。次に、次のようにします。

plr(A,B) = (tx_packets(A) - rx_packets(B)) / tx_packets(A))

ただし、カウンターがリセットされrx_packetsてそれよりも高くなる場合があることに注意してくださいtx_packets。SDN ソフトウェアでこの動作に直面しており、奇妙な組み合わせがある場合、結果を無効にする傾向があります。

于 2015-08-12T15:39:59.013 に答える