了解 Mininet、OpenFlow 和 OVS 之间的区别

Understanding the difference between Mininet, OpenFlow, and OVS

我对以下术语感到困惑:OpenFlowOpen vSwitchMininet。我想了解它们之间的关系。请问有人可以提供何时以及如何使用它们中的每一个吗?

谢谢。

OpenVSwitch 是一个可以由控制器控制的软件 OpenFlow 交换机

OpenFlow 是您的控制器与其 OpenFlow 交换机通信所使用的协议

Mininet 是一个仿真器,它利用多个软件交换机实例模拟网络

先解释一下OpenFlow。在传统的遗留网络设备中,控制决策单元转发单元是紧密耦合的(如交换机、路由器等,其中控制诸如最佳路由计算和转发之类的决策发生在同一设备中)。这些设备的硬件是专门为特定任务而制造的。它们不够灵活,无法让研究人员测试他们可能想出的解决任何网络问题的新算法(比如他们有更好的 TCP 拥塞控制算法!)。这需要研究人员创建自己的定制硬件,并为每个实验设置全新的设置。

如果商业交换机供应商允许更大的灵活性,从而允许研究人员在没有新硬件的情况下在同一网络上测试他们的新想法,那就更好了。

根据 OpenFlow, an OpenFlow switch allows this flexibility and OpenFlow is the protocol used to manage the switch (i.e., add/remove/modify flow entries, capture flow statistics, etc.,). The user program that uses OpenFlow to communicate with the OpenFlow switch is called the controller. There are various frameworks available for writing controller applications. Examples are Ryu are OpenDaylight 上的白皮书。

SDN 正是基于这种解耦控制和转发单元(也称为数据平面)的思想。这不仅对研究人员有用,而且对数据中心也有用,因为它减少了每次需要更改时更换硬件的成本。

OpenVSwitch - 'V' 代表虚拟。这是一个 "virtual" OpenFlow 开关。除了OpenFlow,它还支持其他交换机管理协议。

很多人问OpenFlow交换机是运行在第2层还是第3层。注意这里没有这个概念。在 OpenFlow 交换机中,可以根据 MAC、IP、in-port、VLAN_ID 等做出转发决策,因此请不要尝试将其纳入 OSI 模型。

Mininet 是一个网络模拟器。用户可以创建具有多个主机和交换机的任何类型的拓扑。还可以选择开关的类型。