私は Mininet を初めて使用し、トポロジーを作成しました。ミニネット トポロジで作成されたスイッチで ECN を有効にする必要があります。
スイッチで ECN を有効にする方法は?
前もって感謝します
よろしくハッサーン・アフリディ
私は Mininet を初めて使用し、トポロジーを作成しました。ミニネット トポロジで作成されたスイッチで ECN を有効にする必要があります。
スイッチで ECN を有効にする方法は?
前もって感謝します
よろしくハッサーン・アフリディ
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 の値は無視されます