软件定义网络线上线下混合式实验教学的探索和实践
2021-06-28陈美娟朱晓荣孙晓玲
陈美娟, 朱晓荣, 孙晓玲
(南京邮电大学 通信与信息工程学院, 通信与信息网络国家级虚拟仿真实验教学中心, 江苏 南京 210003)
0 引言
软件定义网络SDN(Software Defined Network)技术通过将网络控制功能集中于一个远端逻辑控制器上,实现了数据转发平面和控制平面的分离,是当前网络体系架构演进的主要方向之一[1~2]。虽然SDN这种新型网络架构在实际部署中面临着各种挑战,但是它提供了一种新的思路来解决传统网络在运维中面临的各种问题[3]。高校培养的学生如何在紧跟通信前沿技术的同时不断创新?这是目前高校信息通信类人才培养面临的重点和难点问题[4]。实践教学是学生检验理论并创新理论的重要环节,也是培养学生科学思维、创新能力的必要途径。因此,结合国家“金课”[5~6]、“实践金课[7]”和“新工科”[8]等教育国策和先进的教育教学方法,本课程组在理论教学和科研实践积累的基础上[9],设计并实践了多种类型的SDN技术实验项目。
1 SDN实验内容设计
1.1 实验项目
SDN实验安排在大四和研究生阶段。通信工程专业的学生在前期课程中对SDN已有简单了解,但仅限于最基本的概念。考入本专业的研究生,对SDN的掌握程度各不相同。因此,SDN实验项目,在实际使用中可以根据情况灵活选用。
SDN实验在实施过程中,采用线上线下相互结合互为补充的方式,先软件后硬件、先基本后创新的形式。首先是基于虚拟交换机的实验,包括线上和线下两种形式,然后是基于实体SDN交换机的实验。基于虚拟交换机的实验提供线上浏览器方式和本地虚拟机形式。虚拟和实体两种类型的实验,都包括基本型和创新型。SDN实验内容设计如图1所示。
图1 SDN实验内容
1.2 虚拟实验基本型
虚拟实验基本型,以熟悉SDN基础知识为目的。Mininet类实验,包括Mininet常用命令、可视化应用和MAC地址学习实验。控制器实验,包括RYU、OpenDayLight、ONOS控制器基本用法实验。南向接口协议实验,包括OpenFlow协议和OF-CONFIG协议实验。北向接口协议实验,包含基于RESTCONF的流表管理、拓扑查询、Group表管理等。通过以上实验项目,使学生能够掌握SDN技术基本原理、学会使用开源的SDN实验工具。
1.3 虚拟实验创新型
虚拟实验创新型,以掌握网络创新基本方法为目的。包括复杂网络构建实验、SDN应用开发实验,以提供防DDOS攻击、网络安全方面的实验。也提供网络性能优化实验,让学生掌握如何发现网络拓扑、收集网络信息、设计和实现优化算法、算法性能评估。通过这些实验,使学生掌握路由选择和负载均衡的原理与应用。
通信事业发展日新月异,5G网络在2019年已经商用。5G网络提供三大类业务[10],网络切片技术为不同需求的业务提供了服务质量保障。5G网络中,每个业务请求即服务功能链SFC(Service Function Chaining)由多个虚拟网络功能VNF(Virtual Network Function)组成。SFC在其生命周期内的资源需求存在动态变化问题[11],实验项目让学生尝试在实验平台建立典型网络拓扑、设计和编写算法代码实现VNF的动态迁移。通过以上实验项目,使学生掌握SDN应用开发的基本方法。
1.4 实体设备基本型实验
实体设备基本型实验,通过该实验项目,学生熟悉典型SDN实体交换机的基本使用方法。实验室提供3类实体SDN交换机实验,包括无线SDN小交换机OpenMesh 104N、中型的V150-4T2X SDN/OpenFlow和大型的品科Pica8 P-3297 千兆交换机。通过这些交换机,课程组开发了手机上网实验、基于OpenFlow的流表控制实验以及在不同分层结构上对报文进行控制转发的实验。
1.5 实体设备创新型实验
实体设备创新型实验,以掌握实体SDN交换机解决实际网络问题的基本方法为目标。该类实验设计为虚拟与实体交换机相结合的实验,目前包括交换机迁移实验和多流并发视频传输实验。实验项目需要学生搭建多域实体SDN通信网络,采用多种型号的SDN交换机,含无线和有线交换机,为用户提供固定和移动两种接入方式。针对分布式软件定义网络中交换机迁移对象选取时存在的僵化和迁移冲突问题,实验要求学生研究基于过程优化的交换机竞争迁移算法[12]。针对用户观看高清视频业务时一路通道速率不能达到要求问题,采用SDN方法控制多路通道同时传递信息,采用多流并发的方法满足用户的业务体验[13]。
2 SDN实验实践
2.1 实体SDN交换机实验网络拓扑结构
SDN实验网络分为3层:核心层、汇聚层和接入层。核心层和汇聚层使用Pica8 SDN交换机,接入层采用V150提供有线接入、采用OpenMesh 104N提供无线接入。所有交换机的控制口连接到SDN控制器,用于SDN交换机收集网络的各种信息和控制交换机的流表,实现网络整体性能的优化。SDN实验网络中有多种应用服务器,例如视频服务器、路由算法服务器等,用于向用户提供各种服务。SDN实验网络通过路由器连接到外部的Internet。用户根据一定的策略使用本地应用服务器或者使用Internet提供的服务。图中无线SDN交换机的控制口连接到路由器,使用了路由器的动态主机配置协议DHCP(Dynamic Host Configuration Protocol)功能,向无线SDN交换机提供IP地址。实验网络结构如图2所示。
图2 SDN实验网络结构
2.2 网络性能优化实验
网络性能优化实验的基本步骤如图3所示。第一步:网络拓扑信息的发现。通过周期性发送链路层发现协议LLDP(Link Layer Discovery Protocol)报文来发现链路信息;然后使用Networkx集来存储这些信息,利用获得的这些链路信息,就可以生成网络拓扑结构图。第二步,网络相关信息的收集。网络性能优化是基于网络当前的数据或者历史数据,对网络做进一步的优化。因此这一步就是根据优化问题的需要,收集网络当前的运行信息。编写Monitor模块实现网络感知获取网络当前信息,并用Networkx集来存储这些信息。第三步,网络性能优化算法设计。分析获取的网络信息,发现问题,设计优化算法,编写Python代码,实现网络性能的优化。第四步,根据优化算法的结果,形成相应的流表项,在控制器中安装这些流表项,并将该流表项下发到交换机。
图3 网络性能优化算法流程
最短路径问题是图论研究中的一个经典算法,在实际网络规划与优化设计问题及数据挖掘中都有重要的作用,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。实验中,学生可以对比分析不同路由算法的性能,例如Dijkstra算法、Floyd算法、最短路径算法等[14]。
负载均衡是网络优化的典型应用,当报文经过的路由出现拥塞时,网络应能够自动的将它们调整到负载较轻的路径上去,这通过控制交换机之间的路径选择来实现。实验中,学生可以对比分析不同转发策略时的网络性能,例如按照带宽、时延、计算资源等进行负载均衡[15]。
2.3 基于pica8的流表实验
Pica8是多端口多SDN交换机,可以位于网络的汇聚层,可以连接PC机,也连接V150等其他SDN交换机,实验环境搭建示意如图4所示。实验过程中练习流表操作,修改交换机中的流表,观察对PC机之间报文转发的影响。实体交换机实验,实验开始时首先需要配置实体交换机,以Pica8为例对实体交换机的实验过程进行说明。
图4 Pica8实验
第一步:使用软件PUTTY来配置主机Host0与Pica8之间的通信;第二步:修改SDN控制器的IP地址,使之与MANAGEMENT端口的IP地址在同一网段;第三步:PUTTY中启动Pica8的操作系统服务,验证端口地址配置起作用;第四步:PUTTY中建立虚拟交换机(即网桥),并给这个网桥添加若干个端口,为后面这些端口所连接的电脑/SDN交换机之间的报文转发做准备;第五步:PUTTY中设置Pica8交换机连接到控制器;第六步:Host1与Pica8连接;第七步:Host0与Pica8连接(同理可以设置V150、OpenMesh 104N交换机与Pica8连接);第八步:修改虚拟交换机中的流表,若Host1与Host2之间可以相互转发报文,说明实验成功。第九步:实验结束后,清除Pica8中的数据配置,方便下一组同学做实验。
3 实验效果分析
实验结束后,分析了不同偏好的学生对实验项目的选做情况。分析对象包括工程类型学生56人,学术类型学生38人。
图5对比分析了四种实验类型与选做这些实验的学生人数。可以看出:工程型学生中有66.07%的人选做了OpenMesh实验、51.79%的人选做了V150实验、26.79%的人选做了Pica8实验、全部人都选做了网络优化实验;学术型学生中有55.26%的人选做了OpenMesh实验、52.63%的人选做了V150实验、44.74%的人选做了Pica8实验、31.58%的人选做了网络优化实验。
图5 实验结果分析
从数据可以看出,学术型学生更喜欢做无线SDN交换机实验、非常喜欢创新型的SDN网络优化实验;而选做高性能实体SDN交换机Pica8的人较少,因为Pica8实验操作步骤相对较多,对编程语言和硬件操作都有比较高的要求。因为移动通信发展快速,OpenMesh提供便捷快速无线接入与组网方式,学术型学生对此实验兴趣较浓厚。工程型学生在Pica8和网络优化实验的选择上,与学术型学生差别较大,他们更偏好软硬件结合的实验。
4 结语
SDN思想对于网络架构和应用创新带来了新的思路和契机。但在真实网络环境中部署创新应用之前,需要在实验平台进行调试和验证。本文基于线上线下的实验资源,设计了不同类型和层次的实验,满足了不同类型学生的实践需求。今后我们将结合SDN与边缘计算、人工智能等技术,设计更加智能的网络性能优化和故障诊断实验。