首页 > 代码库 > 也谈OpenFlow, SDN, NFV

也谈OpenFlow, SDN, NFV

Copyright (2014) 郭龙仓. All Rights Reserved.

OpenFlow

传统的网络环境中,仅仅有路由器/交换机之间的接口/协议是标准化的,可是在网络设备内部,数据平面和控制平面事实上是耦合在一起的,每一家厂商都有自己专有的系统来实现这两个平面,并且数据平面和控制平面不可以分开独立演化。

在 初期网络环境比較简单的时候,这样的数据平面和控制平面的耦合事实上无关紧要;可是如今的企业内部网络环境愈来愈复杂,大量异构的网络设备、复杂的组织架构、 竞争日趋激烈的市场环境……, 传统的网络架构不仅导致企业IT部门的投入产出比越来越低,并且效率也极大的受到影响,并且更加致命的是,企业无法迅速的响应市场环境的变化,这在极端情 况下事实上会导致企业的破产/倒闭。所以,数据平面和控制平面的分离已经不是一件设计上的事情,而是关乎企业的存亡。

那么,OpenFlow是什么呢? OpenFlow是一种开放的协议,用于数据平面和控制平面之间的通信。


SDN

SDN, 顾名思义,软件定义网络。那么怎么样做到软件定义网络呢? 答案就是数据平面和控制平面的分离。OpenFlow的角色就是数据平面和控制平面之间的通信协议。看到这里,你或许会认为事实上SDN不就是 OpenFlow嘛,两者没什么本质差别。那我要告诉你,你可就大错特错了。SDN与OpenFlow事实上全然不在一个层面上,尽管OpenFlow和 SDN都涉及到数据平面和控制平面的分离,可是,OpenFlow仅仅是一种协议,SDN的含义却大得多。SDN是一整套软件定义网络的解决方 案,OpenFlow仅仅是这个解决方式中须要用到的一种技术而已。

当大家在说OpenFlow的时候,事实上是在说这样的协议或者採用了这样的协议的交换机。

当大家在说SDN的时候,事实上是在说软件定义网路的解决方式。


NFV

NFV, 顾名思义,网络功能虚拟化。那么什么是网络功能虚拟化呢? 重点就在网络功能这四个字上,当大家说防火墙、负载均衡、路由、交换等等等等的时候,大家就是在说网络功能,所以你如今应该可以理解什么叫做网络功能虚拟化了吧。


SDN与NFV

首先,NFV与SDN都是解决方式级的。

其 次,SDN的实施必定须要网络的虚拟化,注意,是网络虚拟化,不是网络功能虚拟化,这也是导致非常多人对SDN与NFV概念混淆的根本。所以,关键是理清网 络虚拟化和网络功能虚拟化的差别。网络虚拟化可能会须要用到路由、交换等网络功能虚拟化技术;可是网络功能远不止路由、交换,它的范畴要广的多。我认为其 实能够拿面向过程与面向对象之间的差别和联系来类比一下,网络虚拟化和网络功能虚拟化事实上本质上是看问题的不同角度和做事情的不同方式,它们有自己特定的 应用场景和模式,可是它们却并不冲突,就好像同一种语言能够同一时候支持面向过程和面向对象两种范式,企业网络也能够同一时候应用SDN和NFV,SDN与NFV 既相互独立又相辅相成。

最后,SDN与NFV都在促进整个网络环境趋向于更加开放、灵活、标准化。