SDN基础-SDN控制平面

SDN控制平面
- 由一个或多个SDN控制器组成,是网络的大脑。
- 对底层网络交换设备进行集中管理,状态监测、转发决策以及处理和调度数据平面的流量;
- 向上层应用开放多个层次的可编程能力

一、典型的SDN控制器体系架构

image

SDN控制平面分为6层
南向接口层:主要对各种南向接口协议的支持,如Open Flow,Netconf,OVSDB等,控制器通过接口层的通道实现对底层网络的管理
抽象逻辑层:主要是将服务抽象出来,实现各种通信协议的适配,为各模块和应用提供一致的服务
基础网络层:在任何控制器中都是必不可少的,这里的模块包括了控制器内部的实现逻辑,比如:拓扑管理、链路计算等,也包括一些底层的网络实现逻辑,比如BGP Vxlan的实现等
内置应用层:提供了基础的功能包,如L2、L3网络,Overlay APP,服务链APP等
北向接口层中:控制器实现了Restful API的接口或者嵌入式的API提供给上层应用调用
配置管理层:提供了控制器服务管理,集群管理和图形化界面,如ODL控制器提供了模块的启用、删除等功能,Floodlight等控制器提供了一个简单易用的UI界面,可以在web界面中调用控制器的北向API

二、控制器关键技术

主要是包括南向网络控制和北向业务支撑

南向网络控制

通过南向接口协议进行链路发现、拓扑管理、策略制定、表项下发等:
–链路发现和拓扑管理:利用上行通道对底层交换设备上报信息进行统一监控和统计;
–策略制定和表项下发:利用下行通道对网络设备实施统一控制。

链路发现

是获得SDN全网信息的关键,是实现网络地址学习、VLAN、路由转发等网络功能的基础
传统网络中:由各个网元自主进行
SDN网络:网络链路的发现工作由控制器统一完成
对于Open Flow交换机直连链路的发现,SDN控制器通过链路层发现协议LLDP实现

image

首先控制器通过packet-out消息(红)向所有的相连的交换机发送LLDP数据包,该消息命令交换机将LLDP数据包发送给所有端口,
当交换机接收到packet-out消息,他就会把LLDP数据包,通过其所有的端口发送给与之相连的设备,
由于邻接交换机是一台Open Flow交换机,在该交换机中没有专门的流表项,用于处理LLDP数据包,
所以他将通过一个packet-in消息(蓝)将数据包发送给控制器,
控制器在接收到packet-in消息后会对数据包进行分析,并创建两台交换机之间的链接记录。
网络中的其他交换机也都采用同样的方式向控制器发送packet-in消息,因此控制器能够创建完整的网络拓扑视图
对于OF交换机非直连链路的发现,即两台open flow交换机通过其他多台非open flow交换机连接。通过广播实现
控制器在发送packet-out消息给open flow交换机的同时,会要求交换机发出广播包,通过广播的机制实现链路的发现

拓扑管理

监控和采集SDN交换机的信息,反馈工作状态和链路连接状态:
- 定 时 发 送 带 LLDP 数 据 包 的 Packet_out 消 息 , 根 据Packet_in消息获知交换机信息,监测交换机工作状态,完成网络拓扑视图更新;
- 导致较慢的收敛过程,影响实时反馈;

策略制定

流表生成算法是影响控制器智能化水平的关键因素
针对不同层次的传输需求,制定相应的转发策略并生成对应的流表项
传统网络 在各台设备执行相关算法,根据设备自身有限的局部网络链接情况进行数据处理决策
SDN 具有集中化管控的优势,全局的网络资源视图,容易获得优化的算法执行结果,处理压力较重

表项下发

通过流表下发机制控制交换机的数据包转发
–主动(proactive)下发:数据包到达交换机之前进行流表设置--是控制器在交换机还没有收到数据包前,先给交换机下发流表,告诉交换机如何处理第一个数据包
主动下发可以避免交换机启动时,数据流对交换机的冲击,并且可以消除数据传输过程中,流表项设置延迟的问题
–被动(reactive)下发:交换机接收到一个数据包并且没有发现匹配的流表项,将其送给控制器处理。
在复杂网络中会产生流表项设置延迟的问题

北向业务支撑

通过北向接口为上层业务应用以及资源管理系统提供灵活的网络资源抽象;
北向接口定义是SDN领域关注和争论的焦点;
REST API是用户比较容易接受的方式;
posted @ 2022-09-16 14:46  lht333  阅读(674)  评论(0编辑  收藏  举报