SDN实验---流表项对网络的影响
我们经常说的:当我们不下发流表项时,ovs默认是工作在二层网络下的二层交换机。而实际上并非如此!!!
如果SDN网络中没有流表项,整个网络是无法进行通讯的!!!
我们可以通过以下方式下发流表项:
1. 手动下发流表项,使得网络可以工作在二层网络下。此时OVS功能如同二层交换机 2. 配置外部(mininet之外)控制器(可以实现对更高层级协议的处理),如:Ryu,使用控制器开启Hub功能,实现控制器充当L2 MAC学习交换机。 3. 配置内部控制器,如:ovs-testcontroller,只充当L2 MAC学习交换机或者集线器(只能实现二层交换机功能,不能处理上层协议)
注意:ovs-testcontroller和ovs-controller是相同的,前者是后者的重命名。
一:实验
--controller: 自定义控制器,如 default | none | nox | ovsc | ref |remote | ryu
(一)不设置控制器的情况
发现不下发流表项时,网络无法正常通信!!!
(二)设置控制器,但是控制器不下发流表项
控制器不做任何处理,不下发流表项
发现不下发流表项时,网络无法正常通信!!!
(三)使用默认内部控制器(即ovsc)
sudo mn --topo=linear,4 --switch=ovsk sudo mn --topo=linear,4 --switch=ovsk --controller=ovsc sudo mn --topo=linear,4 --switch=ovsk --controller=default