分享

在 SDN 中,OpenFlow 和 Open vSwitch 的区别是什么?

问题:
OpenFlow 定义了 SDN 的 Switch 需要的接口吗?
Open vSwitch 是一种支持 OpenFlow 的虚拟Switch吗?
他们之间的联系是怎样的呢?
OpenFlow 是被 Open vSwitch 支持吗?
Open vSwitch 和真实的 Switch 硬件又有什么区别呢?




解答:

OpenFlow定义了SDN的Switch需要的接口吗?
对,这就是OpenFlow协议的内容,具体直接去翻白皮书即可

Open vSwitch是一种支持OpenFlow的虚拟Switch吗?

是的,但是Open vSwitch开发的目的不仅仅是为了支持OpenFlow协议,而是为了给虚拟化平台上运行的虚拟机实例提供一套纯软件实现的路由交换协议栈,具体看下面这个图就很清晰了

1.jpg

正因为如此,Open vSwitch也在其他项目,比如Docker和OpenStack中被集成,用于提供网桥和虚拟网络交换的功能



他们之间的联系是怎样的呢?

SDN软件定义网络是一种下一代网络的“范式”,而OpenFlow是当前最为流行的SDN实现方式,搭建OpenFlow实验网络有几个选择,一是土豪直接买OpenFlow商业交换机,比如思科和Juniper还有国内的盛科那些,二是基于FPGA实现OpenFlow协议支持,比如敝组开发的ONetSwitch系列,三是纯软件OpenFlow交换机实现,因为Open vSwitch可以支持OpenFlow协议,因此被广泛用于OpenFlow实验环境搭建,比如Mininet集成环境中就集成了Open vSwitch,可以通过--switch=ovsk来调用


OpenFlow是被Open vSwitch支持吗?

是,OpenFlow可以被Open vSwitch支持


Open vSwitch和真实的Switch硬件又有什么区别呢?

区别应该很多
从实现上来说,真实的Switch硬件存储RIB和FIB,靠查询TCAM来匹配路由表项,Open vSwitch的话只能靠纯软件数据结构实现,没记错的话有哈希表实现的O(1)查找,还有链表实现的O(n)查找,路由表项都存储在内存里
从协议扩展上来说,一般的硬件Switch对协议的解析流程都是固化的,当然好的交换机也可以通过后期的固件升级支持新的协议,而Open vSwitch就随便搞咯,反正只要改代码就好了,可以适应快并且激烈的网络协议变化(比如OpenFlow)

#################################################################

其它回答:
sdn即软件控制网络。控制网络的,是独立于网络中的路由器及交换机的一个设备,即sdn控制器。sdn控制器与网络中其他设备通信,对设备进行控制,诸如写入路由表之类,其余设备也向sdn控制器汇报,诸如报告发现了新的网络流量。

此过程中,通信协议是openflow,网络中的switch支持这个协议。


openflow是一个协议。是在ovs和控制器之间通信的协议。传输一些重要的报文。openvswitch是一个非常牛逼的交换机,开放的软件模拟的交换机,可以开发支持很多东西,openflow是支持之一的协议。mininet可以模拟出一个由ovs构成的网络,控制器是远程的决策中心,指挥交换机做决策。看一看sdn方面的书就知道了。

OpenFlow 定义了 SDN 的 Switch 需要的接口吗?
是的,OpenFlow是一个协议,可以看成SDN的一个实现,自然在交换机Switch中定义了需要的接口。主要的接口就是Flow Table结构,如下图:
2.jpg






已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条