耦合的网络架构解耦成应用、控制、转发三层分离的架构,并通过标准化实现网络的集 管控和网络应用的可编程,如图91所示。 应用层 商业应用 控制层 控制软件 网络服务 控制数据面接口 基础设施层 网络设备 网络设备 网络设备 网络设备 网络设备 图91SDN技术架构 由图91可以看出,ONF将SDN架构分为基础设施层(转发层)、控制层和应用 层 控制层作为SDN网络架构的核心,网络智能逻辑集中在控制层中,控制层基于软 件实现,拥有全局网络视图,向上通过应用程序编程接口( Application Programming Interface,API)向应用层开放抽象后的网络功能及服务,向下控制和协调底层网络设备 的转发行为 基础设施层由网络设备组成,负责按照控制层下发的策略进行数据转发。应用层则 由各种网络应用服务组成,用户通过控制层开放的接口开发各种网络应用,根据业务需 求修改网络转发行为。各层之间通过标准开放的接口实现资源分配和网络服务。其中控 制层和基础设施层之间的通信接口称为南向接口( South bound Interface),控制层和应 用层之间的通信接口称为北向接口( North bound Interface)。 Open Flow属于南向接口协 议,也是ONF给出的SDN架构中的首个标准协议,用于定义控制器和转发设备之间的 通信接口,支持直接访问和配置网络设备的转发平面(包括物理的和虚拟的交换机、路 由器)
5 耦合的网络架构解耦成应用、控制、转发三层分离的架构,并通过标准化实现网络的集 中管控和网络应用的可编程,如图 9.1 所示。 图 9.1 SDN 技术架构 由图 9.1 可以看出,ONF 将 SDN 架构分为基础设施层(转发层)、控制层和应用 层。 控制层作为 SDN 网络架构的核心,网络智能逻辑集中在控制层中,控制层基于软 件实现,拥有全局网络视图,向上通过应用程序编程接口(Application Programming Interface,API)向应用层开放抽象后的网络功能及服务,向下控制和协调底层网络设备 的转发行为。 基础设施层由网络设备组成,负责按照控制层下发的策略进行数据转发。应用层则 由各种网络应用服务组成,用户通过控制层开放的接口开发各种网络应用,根据业务需 求修改网络转发行为。各层之间通过标准开放的接口实现资源分配和网络服务。其中控 制层和基础设施层之间的通信接口称为南向接口(South bound Interface),控制层和应 用层之间的通信接口称为北向接口(North bound Interface)。OpenFlow 属于南向接口协 议,也是 ONF 给出的 SDN 架构中的首个标准协议,用于定义控制器和转发设备之间的 通信接口,支持直接访问和配置网络设备的转发平面(包括物理的和虚拟的交换机、路 由器)
SDN架构应用层能提供应用和服务(网管、安全、流控等)、控制层提供统一的管 理与控制(协议计算、策略下发、链路信息收集)、转发层提供网络设备(交换机、路 由器、防火墙等)进行数据转发。 网络设备:这里的网络设备其实可以抽象为转发面( Forwarding Plane),它不一定 是硬件交换机,也可以是虚拟交换机,比如OⅤS;也可以是别的物理设备,如路由器与 防火墙等。所有的转发表项都存储在网络设备里,用户数据报文在这里被处理与转发。 网络设备通过南向接口接受控制器发过来的指令,配置位于交换机内的转发表项,也可 以通过南向接口主动上报一些事件给控制器 转发面与控制面接口(南向接口):南向和北向是传统网络中的术语,这里被借用 过来。南向接口是指控制面跟数据转发面之间的接口,传统网络的南向接口并没有什么 标准化,而且都存在于各个设备商的私有代码中,对外也不可见,也就是说既不标准也 不开放,而在SDN架构中,希望南向接口是标准化的。只有这样才能让软件摆脱硬件 的约束,尽可能的做到随心所欲,做到应用为王,否则SDN到最后还是特定软件只能 在特定硬件上运行。从这一层开始向上,已经看不到硬件交换机和虚拟交换机的区别, 看到的只是抽象的转发面。因此,南向接口屏蔽了网络基础设施资源在类型、支持的协 议等方面的异构性,使得转发面的网络资源、设施资源能够无障碍地接收控制面的指令, 承载网络中的数据转发业务 控制器( Controllers):SDN架构的控制层包含一个或多个控制器。控制器之间可以 是主从关系(只能有一个主,可以有多个从),也可以是对等关系。一个控制器可以控 制多台设备,一台设备也可以被多个控制器控制。通常控制器运营在一台独立的服务器 上,比如一台 Linux服务器或 Windows服务器。控制器是SDN网络结构中的核心元素, 是各个大公司都想抢占的制高点。因为它向上能为应用程序提供可编程接口,向下控制 硬件设备,处于战略位置。控制器负责修改和控制底层网络设备的转发行为。控制器将 底层网络资源抽象成可操作的信息模型提供给上层应用程序,并将应用程序的网络需求 如查询网络状态、修改网络转发行为等转化成低层次的网络控制指令,下发到网络设备 中 控制层和应用层接口(北向接口):传统网络中北向接口是指交换机控制面跟网管 软件之间的接口,比如电信网络里面耳熟能详的SNMP、TL1等标准协议。在SDN架 构中,北向接口为上层应用提供统一的管理视图和编程接口,使得用户可以通过软件从
6 SDN 架构应用层能提供应用和服务(网管、安全、流控等)、控制层提供统一的管 理与控制(协议计算、策略下发、链路信息收集)、转发层提供网络设备(交换机、路 由器、防火墙等)进行数据转发。 网络设备:这里的网络设备其实可以抽象为转发面(Forwarding Plane),它不一定 是硬件交换机,也可以是虚拟交换机,比如 OVS;也可以是别的物理设备,如路由器与 防火墙等。所有的转发表项都存储在网络设备里,用户数据报文在这里被处理与转发。 网络设备通过南向接口接受控制器发过来的指令,配置位于交换机内的转发表项,也可 以通过南向接口主动上报一些事件给控制器。 转发面与控制面接口(南向接口):南向和北向是传统网络中的术语,这里被借用 过来。南向接口是指控制面跟数据转发面之间的接口,传统网络的南向接口并没有什么 标准化,而且都存在于各个设备商的私有代码中,对外也不可见,也就是说既不标准也 不开放,而在 SDN 架构中,希望南向接口是标准化的。只有这样才能让软件摆脱硬件 的约束,尽可能的做到随心所欲,做到应用为王,否则 SDN 到最后还是特定软件只能 在特定硬件上运行。从这一层开始向上,已经看不到硬件交换机和虚拟交换机的区别, 看到的只是抽象的转发面。因此,南向接口屏蔽了网络基础设施资源在类型、支持的协 议等方面的异构性,使得转发面的网络资源、设施资源能够无障碍地接收控制面的指令, 承载网络中的数据转发业务。 控制器(Controllers):SDN 架构的控制层包含一个或多个控制器。控制器之间可以 是主从关系(只能有一个主,可以有多个从),也可以是对等关系。一个控制器可以控 制多台设备,一台设备也可以被多个控制器控制。通常控制器运营在一台独立的服务器 上,比如一台 Linux 服务器或 Windows 服务器。控制器是 SDN 网络结构中的核心元素, 是各个大公司都想抢占的制高点。因为它向上能为应用程序提供可编程接口,向下控制 硬件设备,处于战略位置。控制器负责修改和控制底层网络设备的转发行为。控制器将 底层网络资源抽象成可操作的信息模型提供给上层应用程序,并将应用程序的网络需求 如查询网络状态、修改网络转发行为等转化成低层次的网络控制指令,下发到网络设备 中。 控制层和应用层接口(北向接口):传统网络中北向接口是指交换机控制面跟网管 软件之间的接口,比如电信网络里面耳熟能详的 SNMP、TL1 等标准协议。在 SDN 架 构中,北向接口为上层应用提供统一的管理视图和编程接口,使得用户可以通过软件从