SDN 、Openflow、NFV分别是什么?有什么区别?
前言
在我们谈云计算Cloud里面的技术的时候,经常会接触或者听说SDN,Openflow、NFV等等,那它们到底是什么呢?在云计算或者数据中心里面扮演了什么角色?
接下来我们就来一起认识一下。首先我们必须先知道SDN是什么?能带来哪些价值,以及关键的技术是什么。
一、SDN是什么
1、SDN的定义
软件定义网络(Software Defined Network,SDN)是由美国斯坦福大学clean-slate课题研究组提出的一种新型网络创新架构,是网络虚拟化的一种实现方式。其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。发源于斯坦福大学的一个创新项目,通过将网络集中控制实现对网络的高效管理,命名为软件定义网络(Software-Defined Networking)
2、SDN的三个关键特征
(1) 控制转发分离:控制与转发设备解耦,接口标准化
(2) 集中控制:实现网络端到端的业务快速部署
(3)开放接口:业务快速创新,实时自动化发放
3、SDN的架构和关键技术
OpenFlow是基于网络中的流的概念设计的一种SDN南向接口协议,控制器根据通信中数据流的第一个报文分组的特征,使用OpenFlow协议提供的接口对数据平面设备部署策略——OpenFlow称之为流表,而这次通信的后续数据流量则按照相应流表在硬件层次上进行匹配、转发,从而实现了灵活的网络转发平面策略,网络设备不再受固定协议的约束。
如下图的包交换流程,由上到下是管、控、转三个平面。
4、Controller和交换机之间的通信方式,三种消息类型:controller-to-switch,asynchronous(异步)和symmetric(对称)。
controller-to-switch
Controller向交换机下发信息,主要有以下几种类型:
- Features:查询交换机支持的功能
- Configuration:查询和配置交换机参数
- Modify-state:控制器管理交换机流表项和端口状态等
- Read-state:获取交换机状态信息
- Packet-out:指定交换机向外发出匹配某个流表项的数据报文
- Barrier:确保消息依赖满足,或接收完成操作的通知
。。。
asynchronous:switch-to-controller
交换机向Controller发送消息,有4中类型:
- Packet-in:交换机收到一个数据报文时,如果在流表中没有匹配项,则发送Packet-in 消息给控制器
- Flow-removed:交换机中的流表项因为超时或修改等原因被删除掉,会触发Flow-removed 消息
- Port-status:交换机端口状态发生变化时(例如down 掉),触发Port-status 消息
- Error:交换机发生问题时触发消息
Symmetric
Controller和交换机都可以任意发起,有3种类型:
- Hello:交换机和控制器启动时通知对方
- Echo:来测量延迟、是否连接保持等
- Experimenter:允许厂家扩展
5、SDN的几大应用场景:SDN可应用于DC、WAN、Cloud Edge、FMC接入等场景,通过集中控制和接口开发,简化运维,高效发放业务。
二、NFV是什么
先来看看NFV的定义,网络功能虚拟化(NFV: Network Functions Virtualization)目的是希望通过IT虚拟化技术,采用业界标准的大容量服务器、存储和交换机承载各种各样的网络软件功能,实现网络能力的灵活配置,提高网络设备的统一化、通用化以及适配性,加快网络部署和调整的速度,降低业务部署的复杂度。
NFV从横向架构分为三层:基础设施层(NFVI,通过OpenStack进行网络、计算等资源池的管理和调度)、虚拟网络层(网络功能的软件实现,物理网络向虚拟网络的映射)和运营支撑层(OSS/BSS)。每一层都有对应的类似OpenStack的管理编排软件。故从纵向架构分为两层:业务网络域和管理编排域。
为客户带来的变化:多种专用硬件的设备形态变成统一的标准化硬件平台;组网根据行政地域划分组网变成围绕核心DC和边缘DC组网;专业纵向独立维护的运维机制(维护硬件设备)变为横纵向运维(横向纵向各层的维护)。
三、NFV与SDN的的主要区别是什么?
我们通过一张表格来对比一下:
SDN | NFV | |
核心特点 | 控制/转发分离; 网络集中控制,中央控制可编程网络; 网络虚拟化 | 软件/硬件分离; 网络功能虚拟化/软件化; 硬件通用化 |
差异点 | 网络虚拟化; 侧重于L4以下流量的控制调度 | 网络功能虚拟化; 适用于L2-L7的业务功能 |
应用场景 | 数据中心、云 或园区网络 | ISP网络 |
应用设备 | 服务器和交换机 | 服务器和交换机 |
初始化应用 | 基于云协调器和网络 | 路由器,防火墙,网关,CDN,广域网加速等 |
新的协议 | OpenFlow | 尚无 |
组织者 | Open Networking Forum (ONF) | ETSI NFV Working Group |
共同点 | 从封闭走向开放、从独享的硬件到共享的软件 |
SDN在数据中心的演进过程
除了对比SDN和NFV的区别外,我们可以看出,SDN技术实际上适用更多的TOB客户数据中心,园区等等网络,但是NFV更多聚焦运营商的网络云化转型,我们可以通过一张图对比
SDN在数据中心的演化过程:对比传统数据中心,最大变化在于实现了转控分离,传统交换机必须知道自己要干什么?怎么干?而SDN则是把所有的大脑集中在一起,告诉你怎么干
交换机是不知道自己要干什么?只有等待SDN的通知和下发命令。
再来看下NFV在ISP的演进过程:传统的网络设备变成了白牌硬件里面的虚拟化功能。
最后总结一下:
SDN与NFV的区别在于:SDN是通过转发和控制分离面向网络架构创新,
NFV是软件和硬件解耦面向设备形态的创新。
SDN关键特征:集中控制、优化全局效率;开放接口、加快业务上线;网络抽象、屏蔽底层差异。
NFV关键特征:上层业务云化,底层硬件标准化;分层运营,加快业务上线与创新。SDN实现网络的端到端管控,包括物理网元和虚拟网元。