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

ovs-testcontroller-用于测试的简单OpenFlow控制器

是一个简单的OpenFlow控制器,可管理任意数量的交换机,通过OpenFlow协议,使得它们充当L2 MAC学习交换机或集线器。 它适用于OpenFlow网络的初始测试。

所以,在mininet中,虽然我们不主动去设置控制器,但是内部会去调用ovs-testcontroller控制器作为我们SDN网络的控制器去下发流表,使得我们的交换机成为L2 MAV学习交换机或集线器!!!

原文地址:https://www.cnblogs.com/ssyfj/p/14631460.html