简介

应用场景

随着物联网和智能技术的发展,越来越多的智能设备应用到了日常的家居生活之中。这些智能家居设备都通过家用路由器接入到互联网之中。而随着接入网络的设备越来越多,网络应用越来越复杂,传统网络架构的局限性也显现出来。将SDN网络应用到智能家居的网络之中可以有效提高网络的利用效率,同时使用SDN网络有很强的扩展性和灵活性,有利于更多新的智能家居应用的部署。同时网络服务提供商或者智能家居服务提供商可以通过远程的控制器对一个大范围的网络进行优化或者部署全局的智能应用。将SDN应用到智能家居应用的网络中有如下优势:

  • 网络更加高效、灵活
  • 网络的扩展能力更强
  • 可以基于SDN开发更加丰富的应用服务
  • 服务提供商可以从远程提供服务而不需要用户进行额外的配置<服务提供商可以从远程提供服务而不需要用户进行额外的配置

内容介绍

本项目基于Onetswitch开发板、RYU控制器以及OpenStack实现了一个从交换机、控制器到远端的云平台的一个完整的SDN网络,云端部署的SDN控制器可以直接对本地的交换机进行控制。

交换机部分使用以Xilinx Zynq芯片为核心的Onetswitch开发板实现了一个支持OpenFlow协议的SDN交换机,并同时实现了传统的软件流表和基于FPGA资源的硬件流表;控制器部分使用RYU控制器作为框架,实现了链路状态监测、网络时延监测等功能以及网络状态的可视化;云端则使用OpenStack搭建了一个私有的IaaS云计算平台对SDN控制器的计算资源进行管理。

利用相关的背景知识。以ONetSwitch 板卡作为硬件平台,Linux嵌入式操作系统作为软件平台,构建一个可以实现二层交换功能的SDN 交换机,本项目对于基于软件流表交换机和基于硬件流表交换机都进行了实现,并且在后续在相同的环境下对于两种交换机的性能指标进行了评测,证明了软硬件协同工作的优势所在。
本项目中使用RYU作为SDN控制器,其API支持较为完善,且对于SDN网络的协议支持比较完善,适合进行研究性的网络功能开发。在本项目中,首先针对于基础的转发功能应用了OpenFlow的流表机制,实现了链路的流表下发以创建数据通路,并借助与SDN相比于传统网络的全局拓扑视野优势,对链路的状态进行实时监测从而在出现故障时能快速响应,并且在此同时将网络的全局拓扑显示在网页中,方便管理员进行查看与维护。为了方便评估链路负载,本项目还利用LLDP协议设计了链路时延检测算法,从而可以检测链路的时延从而可以通过路由算法更合理地分配路由路径。
本项目中云端部分是使用的是OpenStack平台。使用该平台部署SDN控制器有许多好处,首先OpenStack可以进行灵活的计算资源控制,并拥有灵活的网络配置和强大的镜像管理能力,其次OpenStack平台本身具有很强的扩展能力,当总体计算资源不足时可以轻松扩展。 本项目还针对SDN网络应用于智能家居领域时,网络中接入设备数量变化大,应用繁杂,对SDN控制器的计算资源要求严格的场景,实现了资源的自动水平扩展功能。目前本功能还处于开发阶段,要应用于实际的SDN网络还需要控制器的支持。

技术

SDN技术

SDN即软件定义网络,与传统网络的最大区别在于可以通过编写软件的方式来灵活定义网络设备的转发功能。利用其控制平面与转发平面分离的特性,SDN体系架构可以快速地创新。

ONetSwtich板卡

ONetSwitch板卡是由南京MeshSr公司开发的,以Xilinx公司的Zynq系列芯片作为处理核心的专门用来开发交换机应用的开发板。开发板有着丰富的网络外设资源,可以进行灵活的扩展和二次开发。

Xilinx工具链

工具链包括用于硬件开发的Vivado,用于软件调试开发的SDK,以及最近的用于更快移植操作系统的petalinux,通过这个工具链,可以完成基于Zynq系类芯片完整的软硬件协同设计的全部流程。

OFSwitch13

爱立信公司旗下一个叫做CPQD的小组进行维护的轻量级开源的SDN件,这个13结尾的意思是支持OpenFlow1.3的协议,还有其他版本可以支持1.0到1.2,开放源代码的特性使它理论上可以移植到任何平台使用。

SDN控制器

在SDN体系中,SDN控制器承载着网络中的绝大部分的算法,在SDN中产生的所有数据流都需要经过控制器的调配,再通过南向接口协议将指令发送到网络设备中才能生效,是SDN网络可编程能力的核心动力。

OpenFlow协议

一种基于网络中流的概念设计的一种SDN南向接口协议,完成了控制平面和数据平面间的交互和部分管理配置功能。接口协议实现了SDN的灵活可编程特性,是SDN技术的核心环节之一

OpenStack

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。它支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。

Mirantis Fuel

OpenStack自动化部署工具,实现了部署的可视化和一键部署,同时还支持部署前的网络连通性检测和部署后整个平台健康检测等功能,是一个功能非常强大的部署工具。

Let's Work Together!

Collect from 企业网站模板

内容

本项目分为SDN交换机设计、RYU控制器设计以及云端平台搭建三个部分
以下为具体的实验测试图及原理解释


成员

黑晓军

华中科技大学电信学院副教授

项目导师

张成伟

华中科技大学电信学院讲师

项目导师

康健

华中科技大学电子信息工程专业本科生

负责SDN交换机功能设计

邓钰霆

华中科技大学通信工程专业本科生

负责RYU控制程序设计

梁健

华中科技大学通信工程专业本科生

负责OpenStack云平台的搭建

client
client
client
client
client
client