软件定义网络基础---SDN控制平面

一:SDN控制平面

一个或多个SDN控制器组成,是网络的大脑。

? 对底层网络交换设备进行集中管理,状态监测、转发决策以及处理和调
度数据平面的流量;
? 通过北向接口向上层应用开放多个层次的可编程能力。

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

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实现

首先控制器通过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消息获知交换机信息,监测交换机工作状态,完成网络拓扑视图更新;
–当网络规模较大时,导致较慢的收敛过程,影响实时反馈;

策略制定(南向网络控制中的核心技术之一)

流表生成算法是影响控制器智能化水平的关键因素
控制器针对不同网络层次的传输需求,制定相应的转发策略并生成对应的流表项

表项下发(策略计算结果需要通过表项下发来实现)

通过流表下发机制控制交换机的数据包转发
–主动(proactive)下发:数据包到达交换机之前进行流表设置--是控制器在交换机还没有收到数据包前,先给交换机下发流表,告诉交换机如何处理第一个数据包

主动下发可以避免交换机启动时,数据流对交换机的冲击,并且可以消除数据传输过程中,流表项设置延迟的问题
–被动(reactive)下发:交换机接收到一个数据包并且没有发现匹配的流表项,将其送给控制器处理。

在复杂网络中会产生流表项设置延迟的问题

(二)北向业务支撑

通过北向接口为上层业务应用以及资源管理系统提供灵活的网络资源抽象;北向接口定义是SDN领域关注和争论的焦点---北向接口直接为业务应用服务,其设计密切联系业务应用需求,所以具有多样化特征,很难统一;
REST API是用户比较容易接受的方式;

三:SDN开源控制器

(一)POX( https://github.com/noxrepo/ )

-采用Python语言开发的基于OpenFlow的控制器;
-是NOX的兄弟版本,实现了简单的控制平面的功能。
-简单、易上手

组成:POX由内核和组件组成

1、内核( core ):openflow和of_01 ; --内核负责组件的注册
2、组件( component )  --组件之间通过内核进行交互

控制器可以通过内核中open flow模块控制所有交换机,
of_01模块主要是运行一个线程,该线程不断与交换机进行TCP连接,
当某交换机送来一个协议消息,of_01会触发该消息所对应的事件,并由相关的组件处理函数进行事件的处理

代码结构简单,无需安装即可使用,不需要理解所有代码

缺点:由于代码简单--功能不够全面

(二)Ryu( http://osrg.github.io/ryu/ )

NTT主导开发,RYU是一个基于组件的SDN框架

控制层主要包括协议解析,事件系统,基本网络报文库等
应用层包含内建应用,和基于控制层提供的API编写的网络应用
Ryu通过南向接口与数据平面的设备进行通信,在南向协议方面支持1.0到1.5版本open flow协议,还支持如OF-Config OVSDB,VRRP和NETCONF等其他南向协议
通过北向接口完成应用层和控制层的通信,Ryu提供REST API和RPC等接口,允许外界的进程和Ryu进行通信,用户可以在Open Stack或者其他程序上与Ryu进行通信,从而控制SDN网络

Ryu包含大量的组件和库函数供SDN的应用开发使用

库函数可以在组件中直接调用,而组件之间的关系是相互独立的

(三)Floodlight( http://www.projectfloodlight.org/ )(JAVA开发)

原文地址:https://www.cnblogs.com/liujunjun/p/12230659.html

时间: 2024-10-29 02:14:04

软件定义网络基础---SDN控制平面的相关文章

软件定义网络基础---SDN数据平面

主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数据包的处理流程 (四)传统网络数据转发处理特点 比如某一设备的数据平面,只能对某几种特定协议的数据包进行解析 功能模块固定,在网络生产时就已经固定.例如: 二:SDN数据平面架构 (一)主要变化 第一:在该SDN数据平面中,包处理流程中的所有模块,包括解析.转发和调度,都是可编程.协议无关的 第二:

软件定义网络基础---SDN的主流构架

一:基于不同标准的主流构架 二: ONF定义的SDN基本构架 (一) 四个平面.两大接口 三:四个平面 (一)数据平面 数据平面是由若干网元(Netword Element)构成,每个网元包括一个或多个SDN数据路径(DataPath) SDN DataPath是一个逻辑上的网络设备,负责转发和处理数据.没有控制能力 ONF标准化了OpenFlow协议.在该协议中数据平面被抽象为一个由多级流表驱动的转发模型  (二)控制平面 第二个任务是:收集网络的实时状态,为SDN应用... SDN控制器是整

软件定义网络基础---SDN的核心思想

一:SDN包含的核心思想:解耦,抽象,可编程 二:解耦 (一)SDN网络解耦思想 解耦是指将控制平面和数据平面进行分离,主要为了解决传统网络中控制平面和数据平面在物理上紧耦合导致的问题 控制平面和数据平面之间不需要相互依赖,只需要遵循一定的开放接口即可进行通信 (二)传统网络比较 传统网络 在传统网络中数据平面和控制平面没有分离. 在同一个网络设备中,设备的转发行为基于控制协议生成的转发表. 比如:二层交换机基于MAC地址表进行转发.路由器基于路由表结合性转发. 而各种转发表是由设备的控制平面,

软件定义网络基础---SDN的发展

一:发展初期阶段--提出 架构.设计思想和实现技术的提出 二:发展中期阶段--企业加入,推动发展 三:SDN的发展趋势 (一)SD-DC SDN被大规模应用数据中心的服务器和设备部署运维,产生了软件定义的数据中心 (一)SD-WAN 软件定义网路被用于广域网,产生了SD-WAN.不仅可以用来部署全新的广域网连接,还可以对现有的广域网进行升级和改造 例:对广域网进行升级 (三)SD-Security 软件定义的安全 (四)SD-Access 软件定义的接入 四:SDN的技术融合 原文地址:http

软件定义网络基础---SDN的产生

原文地址:https://www.cnblogs.com/ssyfj/p/11614822.html

软件定义网络(SDN)

软件定义网络(SDN):你眼中的黑科技,我眼中的新网络(附报告) 2016-07-14 中信建投 199IT互联网数据中心 ▲ 点击蓝字查阅TMT行业数据 报告下载:添加199IT官方微信[i199it],回复关键词[中信建投SDN深度报告]即可 SDN 是未来网络的新框架 SDN, 即软件定义网络( Software Defined Network), 是指用软件来调度和管理网络. SDN 改变了传统的网络层和数据链路层网络设备需要管理员配置设置之后传递数据的工作模式, 提出将管理系统(控制平

5G的基本特点与关键技术之一:软件定义网络(SDN)

5G的基本特点与关键技术之一:软件定义网络(SDN) 软件定义网络(Software Defined Network,SDN)是 5G的关键技术之一. 在讨论软件定义网络时,需要理解它的定义和它对5G网络架构的影响,以及5G移动通信系统中采用软件定义网络的必要性. 基本概念 2006年,美国GENI项目资助了斯坦福大学Clean Slate课题,以Nick McKeown教授为首的课题组提出了Openflow的概念用于校园网络的创新实验,因为Openflow给网络带来可编程的特性,软件定义网络的

实现软件定义网络(SDN)的6种途径

尽管围绕软件定义网络(SDN)的所有兴奋点都是由OpenFlow刺激起来的,但实际上利用各种标准工具对网络进行编程已经有一段时间了.OpenFlow并非实现SDN的唯一方法或者唯一途径.就目前而言,要想实现SDN,除了OpenFlow以外,至少还有6种方法或途经. 命令行接口(CLI) CLI是交换机和路由器的常用接口,网络经理们常用它来配置交换机,激活或者禁用某些服务. Arista网络的CEO Jayshree Ullal说,"要想开放,不只有一种方法.要想扩展,也不只一种方法.CLI虽然不

“第二届全国高校软件定义网络(SDN)应用创新开发大赛” 第八次培训研讨会的通知

各相关高校.单位: 为推动互联网应用创新人才的培养,教育部科技发展中心将于决定于2014年11月至2015年8月举办"第二届全国高校软件定义网络(SDN)应用创新开发大赛"(教技发中心函[2014]126号).本赛项由互联网应用创新开放平台联盟主办,华南理工大学信息网络工程研究中心承办,关于大赛详细信息可浏览网址:www.iiu.edu.cn/chuangxin和www.scut.edu.cn/sdn. 为保障赛事顺利进行,赛项执委会将于2015年5月16日(周六)在江苏省未来网络创新