L2Switch 项目提供 Layer2 交换机功能。
运行 L2Switch 项目 使用 git 查看项目
git clone https://git.opendaylight.org/gerrit/p/l2switch.git
上面的命令为项目创建了一个名为“l2switch”的目录。
运行分发 要运行 karaf 分发,您可以使用以下命令:
./distribution/karaf/target/assembly/bin/karaf
注意:如果karaf没有启动到控制台,建议清除distribution/target/assembly/data/cache的内容
要运行基本发行版,您可以使用以下命令
./distribution/base/target/distributions-l2switch-base-0.1.0-SNAPSHOT-osgipackage/opendaylight/run.sh
如果您需要其他资源,可以使用这些命令行参数:
-Xms1024m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024m'
使用 Mininet 创建网络
sudo mn --controller=remote,ip=<Controller IP> --topo=linear,3 --switch ovsk,protocols=OpenFlow13
sudo mn --controller=remote,ip=127.0.0.1 --topo=linear,3 --switch ovsk,protocols=OpenFlow13
上述命令将创建一个由 3 个交换机组成的虚拟网络。每台交换机都会连接到位于指定 IP 的控制器,即 127.0.0.1。
sudo mn --controller=remote,ip=127.0.0.1 --mac --topo=linear,3 --switch ovsk,protocols=OpenFlow13
上面的命令有“mac”选项,这样更容易区分Host MAC地址和Switch MAC地址。
使用 Mininet 生成网络流量
h1 ping h2
上述命令将导致 host1 (h1) ping host2 (h2)
pingall
'pingall' 将导致每个主机 ping 所有其他主机。