SDN(软件定义网络)架构
SDN(软件定义网络)把传统的交换机(路由器)设备进行了“拆分”,传统的交换机功能从某种意义上来说,可以认为是由最底层的流量转发,以及更高级的其他处理功能(比方说网管控制、负载均衡等)这两部分组成。SDN剥离了交换机除流量转发之外的所有高级处理功能,并且将这部分高级处理功能移到了单独的设备中,称为“控制器”。

SDN架构示意图
控制器实际上起到了“处理器”的作用,为交换机的数据转发进行最佳设计,以及提供更多的应用服务。控制器可以是一个专有硬件装置,也可以是一个虚拟机,或是一个物理服务器。那么,控制器和交换机之间是如何“交流”的呢,这时候就需要一种协议来定义二者之间的通信规则,如同TCP/IP等网络协议类似,OpenFlow就是这么一种网络协议。
交换机和SDN控制器之间使用OpenFlow协议进行“交流”,由SDN控制器来发出控制指令,交换机负责接收指令并进行相应的数据转发。控制器其实也只是一个“平台”,它的作用在于为网络应用提供一个统一的运行环境。我们所说的控制器所做的高级处理功能,都是控制器平台上的“应用”完成的,也就是SDN应用。
总体来说,一个SDN网络中包含三个架构层级:底层物理网络(交换机等),SDN应用以及SDN控制器。让我们分别了解一下。
物理网络
物理网络处于最低层,包含组成整个IT基础架构的网络中的所有物理设备,比方说交换机、网线等等。但是这里的交换机已经不是我们现在意义上的交换机,而是“阉割”版的交换机,就是说已经被剥离控制处理功能,只剩下数据流量转发底层功能,这时候的交换机就如同一个通道,只负责流量的通行。(当然,为了网络设备的平滑演进,SDN网络被设计为能够同现有的交换机进行协同)
SDN应用
SDN应用是整个SDN生态环境的有机“活力”成分,就如同现在风靡在手机平台上的手机应用一样。SDN剥离交换机的处理控制功能的终极目的也在于此,这样用户就可以自由的开发定制“交换机”(网络)的功能,而不需要受制于网络设备厂商。同时,这也降低了网络设备行业的进入门槛,创业者可以不被底层的硬件阻碍,而从SDN应用入手做开发。
SDN控制器
SDN控制器是整个SDN架构的“中间件”,控制器必须整合网络中所有物理和虚拟设备。控制器与网络设备之间高度融合,密切配合完成所有的网络任务。在SDN环境中,控制器会使用OpenFlow协议和NETCONF协议与交换机联系。(OpenFlow是将流数据发送到交换机的API,而NETCONF是网络配置API)。









