SDN的主流技术架构
ONF定义的基于OpenFlow的架构
特点:1、转发与控制分离; 2、标准化转发面。 优点:易于流量调度
IETF提出的技术架构 优点:1、充分利用现有设备; 2、快速实现 优点:1、充分利用现有设备 2、快速实现
NICIRA提出的Overlay技术架构 特点:1、网络边缘软件化; 2、Overlay技术。 优点:1、与物理网络解耦; 2、部署灵活。
ETSI提出的NFV技术架构
NFV与SDN技术互补; 但有本质区别,严格来说不能算是
ONF定义SDN基本架构
ONF定义SDN体系架构
四个平面
**数据平面**
– 若干网元(Network Element):包含一个或多个SDN 数据路径 ( Datapath );
– SDN Datapath:逻辑上的网络设备,负责转发和处理数据;
– 控制数据平面接口(Control Data Plane Interface, CDPI)代理、转发引擎 (Forwarding Engine)表和处理功能(Processing Function)
**控制平面**
– 北向接口(Northbound Interfaces, NBI)代理、SDN控制逻辑 (Control Logic)和控制数据平面接口驱动(CDPI Driver);
– 两个任务: – 将SDN应用层请求转换到SDN Datapath; – 为SDN应用提供底层网络的抽象模型(状态或事件)。
控制面关键技术 – 控制器,网络操作系统(NOS)或网络控制器。
– 智能、核心均在SDN 控制器中实现
– 开源SDN 控 制 器 : NOX 、 POX 、 FloodLight 、 RYU 、 OpenDayLight、 ONOS等。
**应用平面**
SDN应用逻辑与北向接口( NBI )驱动;
通过北向接口与SDN控制器交互;
应用逻辑
– 应用交付能力(负载均衡、访问控制、应用加速):
– 降低系统的开支和成本; – 网元的虚拟化和集中化控制;
– 网络快速部署,故障快速发现与解决;
– 更高的智能,自动化运作,应用可感知的网络
**管理平面**
– 静态的工作:网元初始化配置,指定控制器、定义控制器及应用 的控制范围。
两大接口
南向接口
– 控制平面和数据平面之间的接口(CDPI) 。
– 功能:转发行为控制、设备性能查询、统计报告、事件通知等。
– ONF体系架构:标准化的南向接口协议(Openflow),不依赖于 底层具体厂商的交换设备。
南向接口关键技术
– 转发面开放协议:允许控制器控制交换机的配置以及相关转发行 为。
– ONF定义的转发面开放协议:Openflow协议
北向接口
– 应用平面与控制平面之间的接口(NBI),向应用层提供抽象的 网络视图,使应用能直接控制网络的行为。
– 开放的、与产商无关的接口。 北向接口关键技术
– SDN北向接口设计:控制器将网络能力封装后开放接口,供上层 业务调用。
– REST API成为SDN北向接口的主流设计
SDN的核心思想
– 解耦(Decoupling ); 抽象(Abstraction); 可编程(Programable)
数据平面与控制平面的解耦
– 通过解耦合,控制平面负责上层的控制决策,数据平面负责数据 的交换转发,双方遵循一定的开放接口进行通信; – 实现网络逻辑集中控制的前提;
– 两个平面独立完成体系结构和技术的发展演进,有利于网络的技 术创新与发展。
解耦带来的问题与挑战
– 网络规模的扩大,单一控制器成为网络性能的瓶颈;
– 保持分布式网络节点状态的一致性,是一个重要的挑战;
– 响应延迟,导致数据平面的可用性问题。
网络功能的抽象
ONF网络架构实现转发抽象、分布状态抽象和配置抽象:
– 转发抽象(forwarding abstration):隐藏了底层的硬件实现,转发行为 与硬件无关;
– 分布状态抽象(distribution abstration):屏蔽分布式控制的实现细节, 为上层应用提供全局网络视图;
– 配置抽象(specification abstration):网络行为的表达通过网络编程语言 实现,将抽象配置映射为物理配置。
– Overlay网络架构实现对基础网络设施的抽象。
网络可编程
– 传统网络的管理接口: CLI、SNMP等,是初级的网络编程方式;
– 网络管理者需要基于整个网络的,而不是基于某一设备的可编程,
– 网络可编程相关研究:主动网络(Active Networking)、4D架构
SDN可编程接口
网络可编程接口:
– 北向接口:REST(Representational State Transfer) API,RESTCONF协议
– 南向接口:OpenFlow、OF-Config、NETCONF、OVSDB、XMPP、PCEP、 I2RS、OPFlex等协议;
– 东西向接口:负责控制器之间的通信,未形成统一标准。
数据平面可编程技术:
Intel主导的DPDK、斯坦福大学主导的 P4(Programming Protocol-independent Packet Processors)等