1. SDN(Software Define Network)基本概念
-
控制平面:主要功能是确定数据流经设备时的路径、决定是否允许数据穿透设备、数据的排队行为以及数据所需的各种操作等,该角色称为控制平面。
-
转发平面:根据控制平面的指令在设备上实现数据转发、排队与处理,该角色称为转发平面或数据平面。
控制平面的职责是确定进入设备的数据的处理方式,而数据平面的职责则是根据控制平面的决定来执行具体操作。
-
管理平面: 控制平面和转发平面负责处理数据流量,而管理平面则负责网络设备的配置、故障监控及资源管理。
-
操作平面:监控设备的运行状态,操作平面可以直接查看所有设备实体。管理平面直接与操作平面进行协同工作,并利用操作平面检索设备的运行状况信息,同时还负责推送配置更新以管理设备的运行状态。
-
南向接口:控制面跟数据转发面之间的接口,传统网络的南向接口存在于各个设备商的私有代码中,对外不可见,如存在于交换机内部
-
北向接口:传统网络里,指交换机控制面跟网管软件之间的接口,在SDN中,指控制器跟应用程序之间的接口
对于传统网络设备来说,这些平面完全耦合在一起并通过专有接口及协议进行通信,如下图所示;
图一.传统网络设备功能平面
2. SDN及其优势
-
思想:一种控制平面集中化方法,通过软件控制网络,实现业务的自动化部署。将控制功能从网络设备转移到中心设备或集群中,使转发平面与控制平面相分离,允许设备执行纯粹的转发平面功能。
-
目标: 将控制平面从转发平面中分离,但并不强制要求将集中化的控制平面限定在单个节点上。
-
优势:
- 可编程与自动化
- 支持集中控制
- 多厂商和开放式架构
- 简化网络设备,数控分离(数据平面和控制平面相分离,为开放可编程提供架构基础)
3. SDN控制器及其实现模型
SDN控制器是一种实现SDN控制平面功能的独立设备,负责将控制平面的决策信息传递给网络设备,还能从网络设备检索信息,以做出合理的控制平面决策。
服务提供商因面临实际操作困难,很难将网络完全迁移到SDN,因而可采用替代方案来部署SDN,但只要能享受SDN带来的好处,实现控制平面与转发平面的分离,就是有效的SDN实现。
-
开放(经典)SDN
-
混合SDN
-
通过API实现SDN
-
通过叠加方式实现SDN
4. SDN及其协议
- 南向协议用于控制平面设备(如SDN控制器或应用)与转发平面间的通信;
- 北向协议用于应用程序与SDN控制器之间的通信;
如下图所示,SDN广义架构以及其南北向API;
4.1. 南向协议
南向协议分为两类,一类是控制平面可以直接与转发平面进行通信,称为SDN控制平面协议;另一类是控制平面通过管理平面改变设备参数从而间接影响转发平面,称为SDN管理平面协议。
- SDN控制平面协议
- OpenFlow...
- PCEP...
- BGP-FS(FlowSpec)...
- SDN管理平面协议
- NETCONF...
- RESTCONF...
- OpenConfig...
- XMPP...
- I2RS...
4.2. 北向协议
北向协议是SDN控制器与上层应用程序之间的接口,应用程序通过执行服务编排功能或根据应用程序定义的逻辑或策略来制定并实现决策。SDN控制器与应用程序间的通信与两个软件间的通信没有任何区别,因而不需要任何特殊的新协议。现在很多协议都能实现北向通信,如Restful API或Python、Ruby、Go、Java、C++等编程语言中的库。
5. 不同网络域的SDN用例
5.1. 广域网中的SDN(SD WAN)
-
背景
企业及其商业客户的网络分布在不同的地理位置,众多分支机构都要链接到总部的网络。这些站点都通过专用WAN电路或VPN服务提供商提供的专线连接不同的办公室,这些链路或服务的价格都非常昂贵,大大增加了企业网的运行费用。为了降低成本开销,很多企业都利用DMVPN(Dynamic Multipoint VPN,动态多点VPN)或MPLS-VPN等技术将这些网络连接转向安全的互联网链路。增加了数据加密保护机制之后,动态建立的叠加网络就可以使用共享的Internet链路为企业的私有流量提供服务。不过,Internet连接可能无法保证SLA,而且即使采用了加密技术,也可能不适合传送高度敏感的企业数据,因而这种方法虽然降低了专用链路的带宽要求,但并未完全消除对专用WAN链路的需求。可以根据SLA需求或数据敏感性要求,将流量引导到Internet链路或专用WAN链路。除了主用的专线链路之外,使用这种共享的Internet提供商链路,客户能够以经济有效的方式连接不同的分支机构和总部。 -
问题与挑战
- 对于具有成百上千个站点的大规模WAN部署方案来说,要在使用分离的专线链路和互联链路的同时维护好各分支机构之间的互联性,是非常复杂的任务。
- 此外,还需要在每个站点位置上管理可以引导到Internet链路上的流量类型的流量策略,仅此一项就构成了极大的管理开销。根据实时度量结果优化这些策略或者经常性地动态调整这些策略都不是一件简单的事情。
虽然成本与性能之间的关系非常清晰,但如果没有可以集中管理流量流并配置WAN路由器的管理系统,那么追求这样的效果就显得力不从心了。
- SDN解决方案
使用集中式网络拓扑结构的SDN模型,可以将拥有多条链路的WAN抽象为一个集中式管理系统(控制器),控制器可以1)监控Internet链路的SLA,并指示分支机构或总部使用正确的链路传送数据,而且还可以2)根据流量的类型及敏感性管理流量流,让不同的流量分别使用专线和Internet链路。另外一个好处就是可以3)提高远端路由器的链路利用率,对离开源端路由器的流量流做出有效的路径决策。因此,SDN解决方案能够有效节省运营费用,这一点是传统解决方案极难实现的。我们将这种方案成为SD WAN。
下图给出了SD WAN解决方案示意图,可以看出集中式SDN WAN控制器负责管理WAN路由器,监控上行链路的性能并基于链路性能、流量特性以及时间等因素,集中管理流量策略以改变流量路径。
本文摘自《网络虚拟化技术详解 NFV与SDN》- [印]拉金德拉.查亚帕蒂...