0

私は Mininet を初めて使用し、トポロジーを作成しました。ミニネット トポロジで作成されたスイッチで ECN を有効にする必要があります。

スイッチで ECN を有効にする方法は?

前もって感謝します

よろしくハッサーン・アフリディ

4

1 に答える 1

0

OVS バージョン 2.0.2 を使用しているため、スイッチは少なくとも OpenFlow バージョン 1.3 までをサポートします。OpenFlow バージョン 1.1 以降で実装された Explicit Congestion Notification (ECN) フィールド。フィールドを適用するには、デフォルトである 1.0 より上のバージョンを使用することを mininet に通知する必要があります。ミニネット トポを起動するには、フローの変更を手動で渡すことができるようにリモート コントローラーを使用する必要があります。ターミナルで mininet を起動するには、

sudo mn --topo single,3 --mac --controller remote --switch ovsk,protocols=OpenFlow13

Mininet は問題ありませんが、スイッチと通信するためのブリッジを作成する必要があります。そこで、このブリッジによって OpenFlow バージョン 1.3 フローの変更を渡すことをスイッチに伝えます。新しいターミナルでこれを行うには、ミニネット vm で ssh し、ブリッジを作成します。

sudo ovs-vsctl set bridge s1 protocols=OpenFlow13

これで、openflow プロトコル バージョンを再度定義する必要があるフロー mod と通信して渡すためのスイッチへのドアが開かれました。単一の mod の場合、次のようなことができます

sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=1,actions=output:2

sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=2,actions=output:1

これで、2 つのフロー変更を手動で渡しました。h1 と h2 の間の ping は完全に機能するはずです。ECN フロー mod をインストールするには、次のようなことができます

sudo ovs-ofctl -O OpenFlow13 add-flow s1 dl_type=0x0800,nw_ecn=3,actions=output:3

OpenFlowのドキュメントに記載されていることに注意してください

dl_type=0x0800 または 0x86dd が指定されている場合、IP ToS または IPv6 トラフィック クラス フィールドの ecn ビットと一致します。dl_type がワイルドカード化されているか、0x0800 または 0x86dd 以外の値に設定されている場合、nw_ecn の値は無視されます

于 2016-06-08T19:57:15.293 に答える