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