一:SDN控制平面
一个或多个SDN控制器组成,是 络的大脑。
? 对底层 络交换设备进行集中管理,状态监测、转发决策以及处理和调
度数据平面的流量;
? 通过北向接口向上层应用开放多个层次的可编程能力。
(一)典型的SDN控制器体系架构
首先控制器通过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消息获知交换机信息,监测交换机工作状态,完成 络拓扑视图更新;
–当 络规模较大时,导致较慢的收敛过程,影响实时反馈;
策略制定(南向 络控制中的核心技术之一)
流表生成算法是影响控制器智能化水平的关键因素
控制器针对不同 络层次的传输需求,制定相应的转发策略并生成对应的流表项
主动下发可以避免交换机启动时,数据流对交换机的冲击,并且可以消除数据传输过程中,流表项设置延迟的问题
–被动(reactive)下发:交换机接收到一个数据包并且没有发现匹配的流表项,将其送给控制器处理。
(一)POX( https://github.com/noxrepo/ )
-采用Python语言开发的基于OpenFlow的控制器;
-是NOX的兄弟版本,实现了简单的控制平面的功能。
-简单、易上手
组成:POX由内核和组件组成
1、内核( core ):openflow和of_01 ; –内核负责组件的注册2、组件( component ) –组件之间通过内核进行交互
代码结构简单,无需安装即可使用,不需要理解所有代码
控制层主要包括协议解析,事件系统,基本 络 文库等
应用层包含内建应用,和基于控制层提供的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开发)
相关资源:南 2013计量自动化上行规约调试软件-互联 文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!