SDN概述1
SDN是什么
ONRC是 SDN创始人斯坦福大学教授Nick McKeown和加州大学伯克利分校教授 Scott Shenker,以 Larry Peterson教授 共同创建的研究架构。ONRC对SDN的定义是:“SDN是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面和控制平面分离;控制平面和数据平面之间有统一的开放接口OpenFlow。”在ONRC的定义中,SDN的特征表现为数据平面和控制品面分离,拥有逻辑集中式的控制平面,并通过统一而开放的南向接口来实现对网络的控制。ONRC强调“数控分离”,逻辑集中式控制和统一、开放的接口。
另一个重要的组织ONF2 对SDN 定义做出了不同的描述。ONF 是Nick McKeown 教授和Scott Shenker 教授联合多家业界厂商发起的非营利性开放组织,其工作的主要内容是推动SDN 的标准化和商业化进程。ONF 认为:“SDN是一种支持动态、弹性管理的新型网络体系结构,是实现高带宽、动态网络的理想架构。SDN 将网络的控制平面和数据平面解耦分离,抽象了数据平面网络资源,并支持通过统一的接口对网络直接进行编程控制”。相比之下,ONF 强调了SDN 对网络资源的抽象能力和可编程能力。
2012年4月,ONF发布白皮书《Software-Defined Networking: The New Norm for Networks》3。ONF认为,SDN的典型架构可分为三层,最上层为应用层,包括各种不同的业务和应用;中间的控制层主要负责处理数据平面资源的编排、维护网络拓扑和状态信息等;最下层的基础设施层负责数据处理、转发和状态收集。除上述三个层次外,控制层与基础层之间的接口和应用层与控制层之间的接口也是SDN架构中的两个重要组成部分。按照接口与控制层的位置关系,前者通常被称为南向接口,后者则被称为北向接口。其中ONF在南向接口上定义了开放的OpenFlow标准4,而在北向接口上还没有统一要求。因此,ONF SDN架构更多的是从网络资源用户的角度出发,希望通过对网络的抽象推动跟快速的业务创新。
本质上,这两个组织给出的SDN 定义并没有太大的差别,都强调了SDN 拥有数据平面和控制平面解耦分离的特点,也都强调了SDN 支持通过软件编程对网络进行控制的能力。但是ONRC 更强调数控分离和集中控制等表现形式,而ONF 则强调抽象和可编程等功能。
OpenFlow标准
OpenFlow标准描述了OpenFlow交换机的需求,涵盖了OpenFlow交换机的所有组件和基本功能,并且对远程控制器管理OpenFlow交换机采用的OpenFlow协议进行描述,即OpenFlow协议用来描述控制器和交换机之间交互所用的信息的标准,以及控制器和交换机的接口标准。
OpenFlow交换机包括用于查找和转发数据部分组成的一个或多个流表,以及与外部控制器进行通信的OpenFlow信道,交换机与控制器进行通信以及控制器管理交换机均采用OpenFlow协议。
OpenFlow交换机的主要组件: