软件定义网络(Software Defined Network, SDN)

作者:{HP}@ArkTeam

1 前言概述

SDN(Software Defined Networking,软件定义网络)是一种新兴的网络架构,在2009年由Mckeown 教授正式提出[1]。其最大的特点在于控制平面与数据平面的分离,支持集中化的网络状态控制,实现控制面的可编程。SDN处理的是OSI模型中的2-3层,主要是优化网络基础设施架构,比如以太网交换机、路由器和无线网络等。

SDN能实质性地提高网络性能,引起了业界和学术界的高度重视。包括HP、IBM、Cisco、NEC、VMware、华为、H3C、中兴等纷纷加入到SDN的阵营。SIGCOMM 会议收录了多篇相关文章,甚至将 SDN 列为专题来研讨。


图1 SDN与传统网络架构对比

2 基本原理

传统网络设备(交换机、路由器)的固件是由设备制造商锁定和控制,将网络控制与物理网络拓扑紧耦合,转发路由由设备分别计算。存在网络配置复杂度高、手动操作多、动态调整困难、新业务部署代价大等诸多问题。

SDN抽象剥离了传统网络设备的控制功能,将控制功能交由控制层来完成,并在数据层和控制层之间提供了标准接口,确保交换机完成识别转发数据的任务。控制层需要将设备的分布状态抽象成全网视图,以便众多应用能够通过全网信息进行网络的统一配置。用户仅需通过控制层提供的应用接口对网络进行简单配置,就可自动完成沿路径转发设备的统一部署,无需关心底层设备的技术细节。

SDN 中的接口具有开放性,以控制器为逻辑中心,与数据层通信的接口称为南向接口,与应用层通信的接口称为北向接口。单一控制机制容易造成单点失效,可采用多控制器方式,此时,多控制器之间的接口称为东西向接口。南向接口作为数据与控制分离的核心被广泛研究,成为业界关注的焦点,OpenFlow [2]是SDN 中第一个广泛使用的南向接口协议。由于应用业务具有多样性,使得北向接口亦呈现多样性,开发难度较大,如何实现统一的北向接口标准,仍然在探索中。


图2 SDN示意图

3 优势

逻辑网络和物理网络分离,逻辑网络可以根据业务需要配置、迁移,不受物理位置的限制;全局优化成为可能,使得整个网络可以当作一台设备进行维护,设备零配置,即插即用,大大降低运维成本;应用和网络的无缝继承,应用告诉网络如何运行才能更好的满足应用的需求;用户可以自行开发网络新功能;缩短了网络配置周期,显著提升了新协议和新设备的部署效率。

此外SDN 开放式的研究降低了生产成本,为中小型设备商带来了拓展市场和扩大生存空间的机遇。

4 案例

比较著名的SDN案例是Google使用SDN改造自己的WAN网络(B4)。经过改造之后,据说链路带宽利用率提高了3倍以上,接近100%,链路成本大大降低;网络更稳定,对路径失效的反应更快;管理大大简化;也不再需要交换机使用大的包缓存,对交换机的要求降低;对整个网络的视图可以看得很清楚,可以更好地来做Traffice Engineering,从而更好地进行流量管控和规划,更好地路由规划,能够清楚地了解网络里面发生了什么事情,包括监控和报警。

5 SDN带来的安全问题

开放式接口也会带来一些风险,如控制器向交换机发送蠕虫病毒、通过交换机向控制器进行DDos 攻击、非法用户恶意占用整个SDN 网络带宽等,都会导致SDN 全方位瘫痪[3],需要研究SDN的安全机制。

参考文献

[1] McKeown N. Software-Defined metworking. In: Proc. of the INFOCOM Key Note. 2009. http://infocom2009.ieee-infocom.org/technicalProgram.htm

[2] McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM CCR, 2008,38(2):69-74

[3] 张朝昆,崔勇,唐翯翯,吴建平. 软件定义网络(SDN)研究进展[J]. 软件学报,2015,26(01):62-81

发表评论

电子邮件地址不会被公开。 必填项已用*标注