国开《网络实用技术基础》第六章 6.2 软件定义网络
6.2 软件定义网络
一、概述
软件定义网络(SDN,Software Defined Network)是由美国斯坦福大学Clean Slate研究组提出的一种基于虚拟化技术的新型网络创新架构。SDN的核心思想是把网络设备控制层(control plane)和数据层(data plane)分离开来,以实现对网络流量的灵活控制,为核心网络和应用的创新提供良好的平台。这个构架使得网络管理员能够在不更换硬件设备的前提下,用软件重新定义网络。
如图6-9所示,SDN采用3层架构,架构的第一层是基础设施层,包括以太网交换机和路由器;
图6-9 SDN架构图
中间层为控制层,由控制器组成,控制器收集各个交换机所统计的数据,为SDN的每一个流分配转发路径;
最顶层为应用层,由一些用控制器实现安全、管理和其他特殊功能的应用程序组成,这些基于控制器的应用程序可以实现目前由物理网络设备负责提供的功能。
例如,负责建设软件定义网络的网络架构师可以在控制器上部署虚拟负载均衡、虚拟入侵防御系统(IDS)和虚拟防火墙等应用程序,这些应用程序会检查控制器的信息,包括流量模式、应用程序数据和容量。若IDS应用程序发现控制器处理的流量上出现了异常,则在这些数据包感染网络之前将其隔离。
二、OpenFlow
OpenFlow是SDN架构中定义的第一个控制器与转发层之间的通信接口标准,可视为网络设备与SDN控制软件交互的语言。
OpenFlow的核心思想是将原本完全由交换机/路由器控制的数据包转发过程,转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器分别完成的独立过程。
转变的本质是控制权的更迭:传统网络中数据包的流向是人为设定的,虽然交换机、路由器拥有控制权,却没有数据流的概念,只进行数据包级别的交换;而在OpenFlow网络中,统一的控制服务器取代路由,决定了所有数据包在网络中的传输路径。
OpenFlow交换机在本地维护一个与转发表不同的流表(Flow Table),若待转发的数据包在流表中有对应项,则直接进行快速转发;若在流表中没有此项,则数据包被发送到控制服务器进行传输路径确认,并根据反馈结果进行转发。
SDN在数据中心、网络管理与安全控制、广域网和移动网络等多种环境中具有广阔的应用前景。
1.OpenFlow在数据中心网络中的应用。在数据中心网络中使用OpenFlow交换机,可以将网络和计算资源更加紧密地联系起来,实现有效的控制。数据中心的数据流量巨大,不合理的路由选择会造成数据拥塞,影响数据中心的高效运行。若在数据中心网络中添加OpenFlow交换机,则可以实现路由优化和负载均衡,使数据交换更加迅速。
2.OpenFlow在网络管理与安全控制中的应用。基于OpenFlow技术的网络中,经过OpenFlow交换机的每个新数据流的转发路径都由控制器决定。控制器按照预先制定的规则对这些流进行检查,并指定数据流的转发路径及处理策略,从而更好地控制网络。更为重要的是,在内部网络和外网的连接处应用OpenFlow交换机时,可以通过更改数据流的路径以及拒绝某些数据流来增强企业内网的安全性。
3.OpenFlow在广域网和移动网络中的应用。在广域网和移动网络中添加具有OpenFlow特征的节点,可以实现固网和移动网络的无缝控制。NEC 已经通过OpenFlow控制技术实现了对快速、高带宽移动网络的高效且灵活的网络管理,并解决了两个问题:
1)多个移动通信方式之间的动态切换。在通信环境恶化时,动态切换通信方式可保障用户的服务质量。
2)降低网络的整体能耗。在通信量相对较少的夜晚时段,通过汇集网络传输路径,关闭多余的中转基站,节省能源。