OpenFlow スイッチの動作について質問があります。そのような PC やルーターで OpenFlow を実行して OpenFlow スイッチとして動作させたい場合、そのためにはどうすればよいですか? また、そのデバイスの CPU タイプまたはプラットフォームは重要ですか? ? 違いはありますか?
前もって感謝します。
OpenFlow スイッチの動作について質問があります。そのような PC やルーターで OpenFlow を実行して OpenFlow スイッチとして動作させたい場合、そのためにはどうすればよいですか? また、そのデバイスの CPU タイプまたはプラットフォームは重要ですか? ? 違いはありますか?
前もって感謝します。
PC で何かを試す前に、Open vSwitch を VM (おそらく Ubuntu) にインストールし、その OpenFlow 機能を試してください。
ubuntuにOpen vSwitch(OVS)をインストールするには、
sudo apt-get install openvswitch-switch
FloodlightやRyu SDN フレームワークなどのコントローラーをスイッチのコントローラーとして機能させることができます。
ここに OpenFlow チュートリアルがあります。時代遅れですが、まだ有益ですhttp://archive.openflow.org/wk/index.php/OpenFlow_Tutorial
または、@EricSorensen が前の回答で提案したように、mininet を試すこともできます。Mininet を使用すると、ホストとスイッチを使用してネットワークをシミュレートできます。mininet を使用している間、組み込みの「nox」コントローラーを使用できます。私は投光照明を好むだろう。
それが役に立てば幸い!
OpenvSwitch の実行
ベア メタルで OpenvSwitch をビルドする場合は、公式の tarball を使用して OpenvSwitch デーモンをインストールすることをお勧めします。次の手順に従ってください。
#/bin/bash
# In root permission
aptitude install dh-autoreconf libssl-dev openssl
wget http://openvswitch.org/releases/openvswitch-2.4.0.tar.gz
tar zxvf openvswitch-2.4.0.tar.gz && cd openvswitch-2.4.0
./boot.sh
./configure # If you want to build kernel module, please append --with-linux=/lib/modules/`uname -r`/build
make modules_install
modprobe gre
modprobe openvswitch
modprobe livcrc32c
ovsdb-tool create /usr/local/etc/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \
--remote=db:Open_vSwitch,Open_vSwitch,manager_options \
--pidfile --detach --log-file
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach --log-file
を使用してovs-vsctl show
、ovs-ofctl show
OpenvSwitch のステータスを確認できます。次のステップでは、物理または論理 (veth ペアなど) インターフェイスを OpenvSwitch ブリッジに追加する必要があります。
# Create OpenvSwitch is named 'ovs-br'
ovs-vsctl add-br ovs-br
# Add interface to OpenvSwitch bridge
# If you want to check, please use `ovs-vsctl` to check again.
ovs-vsctl add-port ovs-br eth0
# Set OpenFlow controller
# You should ready one controller
# If not, I have two installation solutions can give you
# Ryu installation: https://github.com/sdnds-tw/ryu-installer
# ONOS installation: https://github.com/pichuang/onos-ansible
ovs-vsctl ovs-br set-controller tcp:x.x.x.x:6653
# Use ovs-vsctl to check controller attribute is UP
別のサーバー (ここではコントローラーと呼びます) にローカル マシン (ここでは PC) のパケット転送動作を決定させると、いわゆる SDN メカニズムになります。したがって、どのような種類の CPU やハードウェアを選択するかは関係ありません。基本的に、SDN はソフトウェア ソリューションと見なすことができます。
SDN 対応ソフトウェアをインストールするプロセスでは、上記の投稿で回答されているオープン vswitch を選択できます。
少なくとも 2 つの物理インターフェイスを備えた Linux ベースの PC に、https: //github.com/CPqD/ofsoftswitch13 から openvswitch をインストールするか、ofsoftswitch13 を使用して、パケット ルーティングが認識できるようにすることができます。
また、mininet https://github.com/mininet/mininetを使用すると、さまざまなネットワーク トポロジの作成をサポートする OF を実行できます (この 1 つのインターフェイスで十分です)。
必要なものはこれだけです: http://mininet.org/ ダウンロードとチュートリアルを確認してください。仮想マシンまたはソースからのネイティブ インストール (Linux の場合) のいずれかを使用します。