阅读:
11,620
SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制、可编程、部署灵活性和数据层面与控制层面相互分离等多种优势。并且作为一种新型的网络结构,其通信协议、三层体系结构和仿真实验都非常有意思。
SDN体系结构
典型的SDN架构定义如下图所示。
SDN体系结构由下到上分别为转发层(又称为基础设施层)、控制层和业务层(又称为应用层)。其中转发层表示网络底层的物理转发设备,维护着流表结构,数据流中的分组则按照流表中的规则进行转发;中间的控制层集中维护和控制网络的各种状态,并负责流表的生成、配置和维护,同时需要为业务层提供易用的北向接口;最上面的业务层根据不同的应用需求来实现不同功能的应用程序。控制层通过南向接口(例如OpenFlow协议)与转发层进行通信,并获取转发层的网络设备的信息;控制层与业务层之间由可扩展的北向接口完成交互,北向接口由各个控制器的Rest API提供,并允许开发者根据实际网络需求开发。
在SDN体系结构中,开发者能够获取转发层中网路设备的实时状态信息,通过调用控制层的北向Rest API接口,编程实现不同功能的应用程序;最后通过控制器和南向接口(OpenFlow)以流表的形式下发到网络设备中,从而完成网络的配置。OpenFlow协议介绍
OpenFlow协议是SDN架构中第一个定义在控制层和转发层之间的标准通信接口,基于OpenFlow的SDN技术可以使开发者动态管理网络拓扑结构。
最常见的OpenFlow流表主要由三个部分组成:匹配域(Match Fields)、计数器域(Counters)和指令域(Instructions),如下图所示。
(1)匹配域,如下图所示:一共包含12个域,每个域内包含一个值,分别对应TCP/IP体系结构中: