软件定义网络笔记PART 2
软件定义网络基本架构
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控制器交互;
应用逻辑
应用交付能力(负载均衡、访问控制、应用加速):
- 降低系统的开支和成本;
- 网元的虚拟化和集中化控制;
- 网络快速部署,故障快速发现与解决;
- 更高的智能,自动化运作,应用可感知的网络
管理平面
静态的工作:网元初始化配置,指定控制器、定义控制器及应用的控制范围。
两大接口
南向接口
1.控制平面和数据平面之间的接口(CDPI) 。
2.功能:转发行为控制、设备性能查询、统计报告、事件通知等。
ONF体系架构:标准化的南向接口协议(Openflow),不依赖于底层具体厂商的交换设备。
南向接口关键技术
- 转发面开放协议(南向接口协议):允许控制器控制交换机的配置以及相关转发行为。
- ONF定义的转发面开放协议:Openflow协议
北向接口
- 应用平面与控制平面之间的接口(NBI),向应用层提供抽象的网络视图,使应用能直接控制网络的行为。
- 开放的、与产商无关的接口。
北向接口关键技术
- SDN北向接口设计:控制器将网络能力封装后开放接口,供上层业务调用。
-REST API成为SDN北向接口的主流设计
floodlight的北向API集合
交换机状态采集、静态流表推送、防火墙策略等多种类型的接口。
SDN的核心思想
解耦(Decoupling )
数据平面与控制平面的解耦
- 通过解耦合,控制平面负责上层的控制决策,数据平面负责数据的交换转发,双方遵循一定的开放接口进行通信;
- 实现网络逻辑集中控制的前提;
- 两个平面独立完成体系结构和技术的发展演进,有利于网络的技术创新与发展。
传统网络:例如二层需要交换转发MAC表,网络层需要路由器需要交换转发路由表
SDN与传统网络的差异
- SDN 将网络设备的控制平面集中上收到Controller;
- 网络设备上只保留转发平面(转发表项);
- 软件可以实现灵活的控制面功能满足用户多元化需求
- 硬件成为简单哑资源,专注转发;
解耦带来的问题与挑战
- 网络规模的扩大,单一控制器成为网络性能的瓶颈;>>>>多个分布式的控制器
- 多控制器如何交换路由信息,保持分布式网络节点状态的一致性,是一个重要的挑战;
- 控制平面的响应延迟,导致数据平面的可用性问题。
抽象(Abstraction)
从用户的角度而言
网络功能的抽象
ONF网络架构实现转发抽象、分布状态抽象和配置抽象:
-
转发抽象(forwarding abstration):隐藏了底层的硬件实现,转发行为与硬件无关;
把各种转发表项如mac表,路由表,MPLS标签表,ACL访问控制表统一抽象成流表
-
分布状态抽象(distribution abstration):屏蔽分布式控制的实现细节,为上层应用提供全局网络视图;
控制层将设备的分布式状态抽象成全局的网络视图,从而达到逻辑上的集中控制
-
配置抽象(specification abstration):网络行为的表达通过网络编程语言实现,将抽象配置映射为物理配置。
左边是传统的对单个网络设备编程方法
右边是SDN网络利用控制器提供的API对整个抽象的网络视图进行编程
可编程(Programable)
传统网络的管理接口: CLI、SNMP等,是初级的网络编程方式;
CLI一般指命令行界面。命令行界面(英语:command-line interface,缩写:CLI)
SNMP一般指简单网络管理协议。简单网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。
现今的网络管理者需要基于整个网络的,而不是基于某一设备的可编程。
网络可编程相关研究:主动网络(Active Networking)、4D架构
网络可编程接口:
- 北向接口:REST(Representational State Transfer) API,RESTCONF协议
- 南向接口:OpenFlow、OF-Config、NETCONF、OVSDB、XMPP、PCEP、I2RS、OPFlex等协议;
- 东西向接口:负责控制器之间的通信,未形成统一标准。
数据平面可编程技术:Intel主导的DPDK、斯坦福大学主导的P4(Programming Protocol-independent Packet Processors)等
参考资料:中国大学MOCC SDN网络课程