让我先解释一下OpenFlow。在传统的传统网络设备中, 的 控制决策单位 强> 和 的 转发单位 强> 紧密耦合(如交换机,路由器等,其中控制决策,例如,最佳路由计算和转发都发生在同一设备中)。这些设备的硬件专门针对特定任务而制作。它们不够灵活,不足以让研究人员测试他们可能提出的新算法来解决任何网络问题(比如说他们有更好的TCP拥塞控制算法!)。这需要研究人员创建自己的自定义硬件,并为每个实验提供全新的设置。
如果商业交换机提供商允许更多的灵活性,那么它将会更好,从而允许研究人员在没有新硬件的情况下在同一网络上测试他们的新想法。
根据白皮书 开流 ,一个 的 OpenFlow交换机 强> 允许这种灵活性,OpenFlow是用于管理交换机的协议(即,添加/删除/修改流条目,捕获流统计信息等)。使用OpenFlow与OpenFlow交换机通信的用户程序称为 的 调节器 强> 。有各种框架可用于编写控制器应用程序。例子是 刘某 是 OpenDaylight 。
SDN基于这种解耦控制和转发单元(也称为数据平面)的想法。这不仅对研究人员有用,而且对数据中心也有用,因为它可以降低每次需要更改时更换硬件的成本。
的 OpenVSwitch 强> - 'V'代表虚拟。这是一个“虚拟”OpenFlow交换机。除了OpenFlow,它还支持其他交换机管理协议。
很多人都会问OpenFlow交换机是在第2层还是第3层运行。请注意,这里没有这样的概念。在OpenFlow交换机中,可以根据MAC,IP,端口,VLAN_ID等进行转发决策,因此请不要尝试将其纳入OSI模型。
的 Mininet 强> 是一个网络模拟器。用户可以使用多个主机和交换机创建任何类型的拓扑。也可以选择开关的类型。
OpenVSwitch是一个软件OpenFlow交换机,可以由Controller控制
OpenFlow是Controller通过其与OpenFlow交换机通信的协议
Mininet是一个仿真器,它使用多个软件交换机实例模拟网络