基于SDN技术的网络及其测量创新实验建设方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机教育
Computer Education
36
第 3 期
2018 年 3 月 10 日
基于SDN 技术的网络及其测量创新实验建设方案
刘乃安,李晓辉,韦 娟,魏建军
(西安电子科技大学 通信与信息工程实验教学中心,陕西 西安;
网络与信息安全虚拟仿真实验中心,陕西 西安 710071)
摘 要:针对现有计算机通信网实验内容枯燥,缺少非常重要的测量方面的内容,缺少深层次的设计与实现方面的内容,缺少综合远程虚拟仿真的手段等问题,文章提出一种基于SDN 技术的网络测量新方案,在给出实验室总体架构的基础上,阐述核心层、汇聚层和接入层的硬件和相应的系统框图,并给出具体的实验系统。
关键词:
SDN;网络测量;实践教学0 引 言
计算机网络是一门实践性很强的专业课程,其实验教学与实践环节不仅是理论教学的深化和补充,对于培养学生综合运用所学知识解决实际问题的能力,也起着非常重要的作用。
如何开展实验教学课程体系、内容、方法的研究和探索,建立与理论教学改革相协调的实验教学体系,保证和提高实验教学质量,是值得探讨和研究的问题[1]。
现有计算机通信网实验存在很多问题,例如内容比较枯燥,缺少非常重要的测量方面的内容,缺少深层次的设计与实现方面的内容,缺少综合远程虚拟仿真的手段。
软件定义网络(software-de fined networking ,简称SDN )技术分离了网络的控制平面和数据平面,为研发网络新应用和未来互联网技术提供了一种新的解决方案[2-3]。
SDN 主要有如下3个特征[4-5]:①网络开放可编程,SDN 建立了新的网络抽象模型,为用户提供了一套完整的通用API ,使用户可以在控制器上编程,来实现对网络的配置、控制和管
理,从而加快网络业务部署的进程。
②控制平面与数据平面的分离[6],此处的分离是指控制平面与数据平面的解耦合。
控制平面和数据平面之间不再相互依赖,两者可以独立完成体系结构的演进,类似于计算机工业的Wintel 模式,双方只需要遵循统一的开放接口进行通信即可。
控制平面与数据平面的分离是SDN 架构区别于传统网络体系结构的重要标志,是网络获得更多可编程能力的架构基础。
③逻辑上的集中控制,主要是指对分布式网络状态的集中统一管理。
在SDN 架构中,控制器会担负起收集和管理所有网络状态信息的重任,逻辑集中控制为软件编程定义网络功能提供了架构基础,也为网络自动化管理提供了可能[7]。
基于SDN 技术可以很好地解决上述问题,基于SDN 技术的网络创新实验室可以让学生亲自进行交换机、路由器和SDN 交换机系统的设计实现,从而让学生直观、全方位了解各种网络设备,真正加深对网络系统原理的认识,提高学生的网络系统技能和实战能力。
基金项目:网络测量与分析课程建设2017年教育部产学合同协同育人项目(201701065001)
;高频电子线路数字课程建设项目。
第一作者简介:刘乃安,男,教授,研究方向为无线通信与射频电路、宽带无线IP 网络与技术,naliu@。
实践论坛
文章编号:1672-5913(2018)03-0036-05
中图分类号:G642
第 3 期
37
实践论坛
1.2 实验系统特点与功能
实验室会侧重学生的实际系统设计经验和系统实现能力。
目前国内高校采用的教学网络实验平台依然停留在软件模拟和网络设备配置的网络协议学习层面。
很多计算机网络和通信方面的学生理论知识储备很多,疲于埋头学习各种网络协议、各种网络设备和通信理论知识,但是由于缺乏开放的网络系统设计平台和网络实验环境,学生失去了对网络系统整体的把握和理解,也无法构成专业的知识结构体系。
实验室提供开放的网络创新平台,学生可以从零开始搭建传统网络设备以及SDN 网络设备,在开放网络实验平台上重新设计基于交换机和路由器的实验网络,自定义交换机功能模块,模拟当前静态网络体系结构的诸多不足和限制因素。
实验室提供丰富的网络系统设计案例和小型网络搭建实验,能让学生有机会进行实际操作,按照工业界标准开发流程设计实现网络设备,开放的网络实验平台还能让学生在实践中理解网络系统设计和各种组网真实工作原理。
2 基于SDN技术的实验平台开发
2.1 开发理念
基于SDN 技术的实验平台是一款基于全可编程SoC FPGA 的网络实验平台。
该平台提供了非常灵活的系统可编程能力,支持系统软件层面和硬件层面的完全可编程能力。
平台本身采用了开放的软硬件系统架构设计,支持现场可编程和设计升级,无需改变平台硬件。
平台采用Xilinx 公司的Zynq 全可编程器件,该器件系列集成 ARM 处理器的软件可编程性与 FPGA 的硬件可编程性,配备双核 ARM Cortex-A9 处理器,该处理器与可编程逻辑集成,可实现优异的性能功耗比和最大的设计灵活性,可针对不同应用定制不同硬件处理模块,并可进行动态重构。
支持512KB L2高速缓存和256KB 片上存储器可容纳整个实时操作系统,ARM 处理器与FPGA 之间的带宽高达100Gbps 。
基于SDN 技术的实验平台主要包括核心/汇聚层节点和接入层节点两部分。
每个网络实验平台都可以按需配置成特定的网络设备,比如交换
1 基于SDN的网络实验系统总体方案
1.1 总体方案和网络架构
基于SDN 技术的网络及其测量创新实验是西安电子科技大学的建设项目,是一个集计算机通信网络、无线IP 网络与技术和现代网络测量技术课程教学、学生创新实验和科学研究的综合网络实验平台,其总体方案如图1所示。
图1 SDN 实验系统总体方案
r
r 整个实验室提供一套完整的通信网络实验解决方案,可满足60个学生的同步教学和实验需求。
目前配置有30台接入层网络设备,12台核心/汇聚层网络设备,3种无线网络90台,并设有配套网络流量分析仪、网络损伤仪(实现网络性能模拟)、网络协议分析仪等。
整个网络可按需灵活搭建各种实验网络拓扑架构,标准的3层网络架构如图2所示。
其中接入层网络平台可以按需接入实验主机或无线AP 设备。
每名学生可以独立拥有一个接入层网络,包括一台接入层网络设备和无线AP 设备。
图2 SDN
实验网络拓扑架构
2018
38
计算机教育
Computer Education
机、路由器和SDN 交换机等,包括开放软件系统和开放的硬件参考设计,可用于各类网络系统实验、网络原型设计和网络产品设计。
2.2 核心/汇聚节点开发
核心/汇聚层节点采用Xilinx 公司的Zynq 系列高端器件XC7Z100芯片,利用其灵活的软硬件可编程能力以及丰富的外设和接口,构建了一个可编程可重构的多功能网络平台。
该平台通过ZYNQ 可编程逻辑部分扩展有八路千兆以太网、八路万兆SFP+光接口,以及一个QSFP 光接口;同时通过ZYNQ 处理器部分扩展有用于调试的千兆以太网、串口以及USB-HUB 、IIC 、CAN 等常用接口。
利用ZYNQ 软硬件都可编程的特点,该平台可实现功能灵活多变的网络设备。
汇聚层/核心层节点硬件如图3所示,其内部主要采用图4所示的芯片和系统。
图3 汇聚层/核心层节点硬件
图4 汇聚层/核心层节点核心系统框图图5
接入层节点硬件
(a)侧面图
(b)正面图
灵活的软硬件可编程能力以及丰富的外设和接口构建。
该平台采用ZYNQ 7020芯片,内嵌有ARM Cortex-A9双硬核可支持Linux 操作系统。
同时片内具有丰富的可编程逻辑资源,可针对不同应用场景,不同需求而定制不同的硬件处理模块,并且可以进行功能动态重构。
此外,平台还具有丰富的扩展IO ,并且具有兼容树莓派的GPIO 、摄像头和显示屏接口,便于进行功能扩展。
接入层节点硬件如图5所示。
接入层节点系统框图如图6所示。
图6
接入层节点系统框图
2.3 接入节点开发
接入层节点采用Xilinx 公司的ZYNQXC7Z020芯片,具有四路可重配置的千兆网络接口,利用其
3 实验系统组成
创新实验室的实验内容包括传统网络实验和
第 3 期
39
实践论坛
软件定义网络实验两部分。
3.1 传统网络实验
传统网络实验部分包括通信网络实验、无线网络实验和网络测量实验3部分,典型实验见表1。
其中,每种实验都包含了协议学习和配置、设备使用、网络系统设计和分析3部分内容。
以交换机部分实验为例,典型实验内容见表2。
通信网络实验
交换机系统实验路由器系统实验组网实验
网络数据捕获实验
掌握交换机端口的配置方法
掌握观察和调试交换机的基本方法掌握交换机的工作原理
掌握交换机的设计思路和软硬件系统实现掌握常用局域网的网络协议体系结构使用局域网中常用的程序以及配置协议
无线网络实验
WLAN 组网实验无线数据捕获实验
学会利用无线接入设备 AP 实现无线的接入连接可以测试无线接入设备 AP 功能
掌握无线接入点客户端工作模式的概念及使用方法掌握无线数据捕获设备的工作原理和使用方法网络测量实验
数据帧测量实验网络系统测量实验
MAC 帧、ICMP 帧、TCP/UDP 帧的格式和工作方式掌握延时分析和网络丢包等的工作原理和方法掌握测试网络延时和网络丢包等的方法
3.2 软件定义网络实验
软件定义网络实验部分包括SDN 基础实验和SDN 高级实验两部分。
基础实验部分主要围绕SDN 体系结构和OpenFlow 协议来设计实验内容,高级实验部分主要包括SDN 系统设计和实现方面的内容,典型内容见表
3和表4。
实验一
交换机基础实验
熟悉路由设备以及了解交换机的常见端口种类掌握交换机端口的配置方法
掌握观察和调试交换机的基本方法
实验二数据链路层实验
保证通信双方在有差错的通信线路上进行无差错的数据传输实现一个数据链路层协议的数据传送部分掌握计算机网络协议的基本实现技术实验三
交换机系统设计
掌握交换机的工作原理
掌握交换机的设计思路和软硬件系统实现
实验一
学习OpenFlow
熟悉OpenFlow 交换机工作原理熟悉SDN 控制器与OFS 的交互学习OpenFlow 协议
实验二学习Open vSwitch
熟悉Open vSwitch 操作和工作原理学习用控制器连接并管理Open vSwitch 学习用python 脚本调用Open vSwitch 命令实验三学习SDN 控制器熟悉Ryu 控制器的安装和使用熟悉OpenDaylight 的安装和使用
实验四
SDN 应用开发基础
熟悉SDN 应用运行原理
基于Ryu 的Hub、Switch 和Firewall 应用开发
2018
40
计算机教育
Computer Education
参考文献:
[1] 钱权, 张瑞, 袁方. 计算机网络课程中的项目式实验教学[J]. 实验室研究与探索, 2013, 32(5): 142-145.[2] 张宇薇. 计算机网络课程中的项目式实验教学分析[J]. 信息与电脑(理论版), 2016(7): 227-228.[3] 刘睿潇. 计算机网络课程中的项目式实验教学探讨[J]. 电脑与电信, 2016(5): 94-95.
[4]
Mckeown N, Anderson T, Balakrishnan H, et al. OpenFlow: Enabling innovation in campus networks[J]. Acm Sigcomm Computer Communication Review, 2008, 38(2): 69-74.
[5] 雷葆华, 王峰, 王莤. SDN 核心技术剖析和实战指南[M].北京:电子工业出版社, 2013.
[6] 左青云, 陈鸣, 赵广松, 等. 基于OpenFlow 的SDN 技术研究[J].软件学报, 2013(5): 1078-1097.
[7] Lange S, Gebert S, Zinner T, et al. Heuristic approaches to the controller placement problem in large scale SDN networks[J]. IEEE
Transactions on Network & Service Management, 2015, 12(1): 4-17.
(编辑:郭田珍)
网络创新实验室提供了开放的实验平台和网络实验环境,可以让学生亲自使用和设计交换机、路由器、防火墙和无线网络设备等传统网络设备,也可以让学生设计实现SDN 交换机,进行混合组网,从而让学生直观、全方位了解通信网络架构和设备中的各个模块,真正加深对网络系统工作原理的认识,真正提高了学生的工程技能和实战能力。
4 结 语
SDN 作为新的下一代网络体系结构,把下层基础设施抽象给上层应用,使得网络像计算机
基础设施一样,可大规模编程和管理。
基于SDN 技术的网络及其测量创新实验建设意义重大,可以极大地提升学生的网络系统能力,加深对网络系统设计和实现本身的理解。
网络创新实验室使得学生能够针对网络系统设计和组网中碰到的问题,设计合理解决方案,设计满足特定需求的流程,并能够在实践环节中体现创新意识,考虑成本、效率、精度等因素;能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验方案、分析与解释数据,并通过信息综合得到合理有效的结论,对计算机网络教学改革起到了极大的推进作用。
表4 高级实验部分
实验序号
SDN 进阶实验
实验目的
1
学习SDN 应用开发
深入学习OpenDaylight 控制器平台熟悉OpenDaylight 编程模型2学习P4编程
熟悉P4语言框架熟悉P4程序运行流程熟悉switch.p4例子3SDN 系统实验熟悉SDN 系统调试工具使用SDN 系统调试工具4
SDN 组网实验
搭建一个真实的SDN 网络局域网SDN 组网实验。