1、SDN软件定义网络
在传统的网络中,各个转发节点(路由器、交换机)都是独立工作的,内部管理命令和接口也是厂商私有的,不对外开放。而SDN(Software Defined Networking)网络,就是在网络上建立了一个SDN控制器节点,统一管理和控制下层设备的数据转发,可以理解为软件定义的网络或者软件控制的网络。下级节点的管理功能被剥离给了SDN控制器,只剩下转发功能。
如上图所示,SDN的架构分为三层,依此为应用平面、控制平面和转发平面。SDN控制器向上与应用平面进行通信的接口,叫做北向接口,也叫NBI接口(northbound interface)。而SDN控制器向下与数据平面进行通信的接口,叫做南向接口,也叫CDPI接口(control-data-plane interface,控制数据平面接口)。
SDN的工作过程,是基于Flow的,SDN控制器和下级节点之间的接口协议,就是OpenFlow。只有支持OpenFlow的设备,才能被SDN控制器管理。SDN控制器在南向接口采用OpenFlow协议来与下层节点的硬件节点进行通信,该接口的性能直接影响到SDN控制器的命令能否准确下达到底层网络设备。
2、NFV网络功能虚拟化
NFV( Network Function Virtualization)网络功能虚拟化,主要分成两部分,一是网络功能,即通信设备的功能,而虚拟化是一种云计算技术,或者说虚拟化是云计算的一种核心关键技术。所以在提NFV之前,先提一下云计算和虚拟化技术。
云计算,就是将计算资源从本地迁移到云端,实现“云化”。计算资源,主要是指服务器。它拥有CPU、内存、硬盘和网卡,通过安装操作系统和软件,能够提供各种计算机服务。
虚拟化技术,就是在物理服务器的基础上,通过部署虚拟化软件平台,把计算资源(类似CPU、内存等)、存储资源(类似硬盘)、网络资源(类似网卡)等资源进行统一管理,按需分配。
通信网络由多个网元设备组成,这些网元本身就是定制化服务器。网元上面运行的软件服务,确保功能得以实现。这些网元大都是各厂家自行设计的专用设备,随着x86通用服务器硬件能力的不断增强,通信行业开始学习IT行业,引入云计算技术,使用x86通用服务器替换厂商专用服务器,将核心网云化下。
核心网的架构设计也借鉴IT的微服务理念,变成了SBA架构(Service Based Architecture)。简单来说,就是将一个服务器实现多个功能变成多个服务器实现各自功能。N个虚拟机,N个功能,相互隔离。
3、SDN和NFV对比
如上图,SDN处理的是OSI模型中的2-3层,主要用于优化网络基础设施架构,比如以太网交换机,路由器和无线网络。NFV处理的是4-7层,NFV主要是优化网络的功能,比如负载均衡,防火墙,WAN网优化控制器等。
SDN是控制和转发解耦,NFV是软件和硬件解耦。两者都是解耦,目的只有一个,就是灵活化。而灵活化的目的,就是服务于网络切片。需要注意的是,5G中的NSA是不支持网络切片的。只有SA,才支持网络切片。总而言之,网络架构采用SA组网,承载网采用SDN,核心网采用NFV,是成为真5G的先决条件。