基于IPv6的高校网络教学平台系统设计与实现
2019-11-12夏光峰黄戈王晓峰赵晖
夏光峰 黄戈 王晓峰 赵晖
摘要:IPv6为互联网带来了地址数、速度和安全方面的提升,给网络多媒体应用带来了长足发展的机会,但是当前基于IPv6的高校网络教学平台应用案例较少,文章分析对比了国内外应用现状,介绍了以开源软件Moodle为核心构建基于IPv6的高校网络教学平台的方法,并就平台IPv6多媒体视频功能扩展和版块二次开发给出了实例,为高校IPv6教学平臺的建设提供了技术和架构上的参考。
关键词:IPv6协议;学习管理系统;插件集成;版块开发;教育信息化
中图分类号:TP315 文献标识码:A
文章编号:1009-3044(2019)25-0100-06
Abstract:IPv6 improves the address numbers, speed and security of the Internet, which brings great opportunities for network multimedia applications. However, there are few application cases of IPv6-based college network teaching platform. The article analyzes and compares the application status at China and abroad, introduces the method of constructing IPv6-based college network teaching platform with open source software Moodle as the core, and gives examples of the multimedia video function expansion and secondary block development of IPv6 platform, which provides references for technology and construction of IPv6 teaching platform in colleges and universities.
Key words:IPv6 protocol; Learning management system; Plugin integration; Block development; Educational informationization
1 引言
2018年5月,中华人民共和国工业和信息化部发布了《推进互联网协议第六版(IPv6)规模部署行动计划》[1],要求用5到10年时间,形成下一代互联网自主技术体系和产业生态,建成全球最大规模的IPv6商业应用网络,实现下一代互联网在经济社会各领域深度融合应用,成为全球下一代互联网发展的重要主导力量。2018年8月24日,教育部办公厅发布了关于贯彻落实《推进互联网协议第六版(IPv6)规模部署行动计划》的通知,要求到2020年底,教育系统的各类网络、门户网站和重要应用系统完成升级改造,支持IPv6访问;基于IPv6的安全保障体系基本形成。下一代互联网相关学科专业人才培养、技术研发与创新工作显著加强,教育系统人才保障和智力支撑能力大幅提升。创新特色应用。鼓励高等学校加强与研究机构、企业合作,在物联网、大数据、人工智能等新技术领域推进基于IPv6的融合创新与示范应用。鼓励高等学校建设基于IPv6的特色教育内容资源。
当前,随着高校教育信息化建设的深入,现有IPv4协议及其应用暴露出越来越多的问题,由于IPv4地址数的匮乏,高校建设的大量电子资源和学习平台对运营商网络开放大多通过NAT[2]转换的方式,MOOC的广泛应用对网络视频传输能力也提出了更高的要求,与IPv4相比,IPv6有巨大的地址空间、使用更小的路由表(提高了路由器转发数据包的速度)、增强的组播支持以及流控(这使网络媒体应用有了长足发展的机会,提升了服务质量控制)、具有更高的安全性。IPv6技术应用是国家信息化战略发展的要求,是教育信息化建设发展的必然,技术上更是大势所趋,图1是2014年至2019年5月我国支持IPv6的用户增长的百分比统计图[3],虽然2018年后增长迅速,达到了10.94%,但与同期美国用户53.95%占比相比还有很大的差距。
安徽省教育和科研计算机网1995年建设至今省内所有本科和多数高职高专院校已接入教育网,IPv6网络用户众多,图2是IPv6线路5月份的带宽使用统计图,高峰时流量稳定在2Gbps以上,用户普遍反映IPv6线路速度快,但由于IPv6应用缺乏,链路流量分析表明主要流量由出校的BT下载为主。
高校网络教学平台是教育信息化最重要的应用系统,并发用户多,网络带宽使用量大,是IPv6最有价值的应用场景之一,通过域名解析抽样分析国内外著名在线学习网站和大学学习平台发现,国内在线学习站点和大学学习平台对IPv6协议的支持较少,而国外同类站点和大学学习平台对IPv6协议的支持相对较高,对比如表1所示,可以想见,围绕在线学习网站和学习平台的在线视频交互和视频管理系统对IPv6的支持度就更低了。
将高校已有网络学习平台进行IPv4、IPv6双栈[4]改造,是当前提升IPv6应用的有效方法,新的网络学习平台建设前期可以考虑基于IPv4、IPv6双栈,待未来时机成熟时升级到纯IPv6环境。
2 网络环境规划与系统选择
2.1校园网IPv6环境
合肥学院校园信息化建设始于2000年,现有互联网络出口总带宽为1600Mbps,其中教育网出口100Mbps,电信出口1000Mbps,中国移动500Mbps,校园网主干带宽万兆,通达全部办公和教学楼宇,交换机近400台,信息点总数为二万余个,百兆接入用户桌面,网络用户过万,拓扑如图3所示。
2012年,学校正式接入中国教育和科研计算机网CERNET2,获得IPv6地址池范围为2001:250:5407::/48,校园网络设备全网支持IPv4/IPv6双栈协议,校园网络用户通过有状态DHCPv6的方式获取IPv6地址,校园DNS服务器采用IPv4/IPv6双栈部署,通过添加AAAA记录管理并解析IPv6域名,校园网络边缘采用山石应用层防火墙,对进出流量实现IPv6和IPv4的访问控制。支持IPv6协议的基础网络服务完善、IPv6安全防护能力提升为校园网内各类基于IPv6协议的应用开展打下了良好基础。
2.2规划与系统选择
当前高校网络教学系统建设主要采用两种方式,一是自建学习平台,另一种是使用校外云学习平台(依托服务提供商),从表1的统计来看,目前支持IPv6的学习平台以高校自建居多,这也从侧面反映出高等院校在IPv6应用方面走在了前列。Moodle[5](Modular Object-Oriented Dynamic Learning Environment模块化面向对象动态的学习环境)是国际公认、具有先进教育理论支撑的LMS(学习管理系统),对IPv6支持度高,基于模块化和插件功能扩展的特性使得Moodle成为诸多国外高校在线学习系统的核心,与我校建立合作关系的德国高校Moodle使用占比很高,且超过50%的平台支持IPv6协议。利用Moodle学习管理系统插件功能扩展,与数字化校园统一身份认证、校园电子邮件、视频会议和视频管理系统无缝融合,可以构建出一体化的高校信息化教学环境。我校选择采用了开源的Moodle作为在线学习管理系统的核心,使用Adobe Connect 插件将Moodle与学校现有Adobe Connect在线视频会议系统集成,采用Panopto插件将Moodle平台与Panopto视频管理系统集成[6],与校园电子邮件服务、在线调查等系统一起,实现学习管理功能完善、结构合理、视频功能丰富的一体化的学习系统,该学习系统既可以通过CERNET2对校内外开放,还可以利用IPv6的技术优势满足对德交流日益增长的网络带宽使用需求,系统框架如图5所示。
3 基于IPv6的网络教学系统实现
3.1 Moodle平台的安装配置
在校园私有云平台上安装一台Linux主机,IPv4和IPv6地址分别配置为210.45.88.149和2001:250:5407:1000::149,在域名服务器中分别添加主机记录如下:
AAAA記录 ipv6study IN AAAA 2001:250:5407:1000::149
A记录 ipv6study IN A 210.45.88.149
Moodle平台安装配置及优化此类文档较多所以不再赘述,完成后的系统基本运行环境如下表所示:
在Moodle平台网站管理à插件à身份认证配置中允许基于e-mail的自助注册,在服务器à电子邮件选项中进行邮件发送配置,设定学校SMTP主机的地址以及用来转发电子邮件的账户,在账户à追加管理字段添加所在学校或公司字段,以便于外校的学生或IT技术公司的指导教师注册,校内学生的认证利用学校统一身份认证平台与Moodle直接实现集成。
在Moodle.org网站下载Completion Progress(学习活动完成状况监控)、Configurable Reports(自定义分析报表)、Forum Graph[7](讨论区帖子关系可视化)和Statistics插件(网站整体状况统计),安装于Moodle 平台上扩展学习数据管理和分析功能。美化定制学习平台主题风格,同时满足各类终端访问平台的界面自适应要求。
3.2 IPv6地址显示Block插件开发[8]
该Block版块插件开发的目的是允许网站管理员设定在网站特定位置显示来宾IPv6地址和所在国家,基本配置及代码示例如下:
在 Moodle的blocks目录中创建ipaddress目录,目录基本结构如图6所示。
其中ipaddress/block_ipaddress.php文件中首先从block_base派生block_ipaddress类,然后为该类创建初始化函数 founction init( ),如下所示:
<?php
class block_ipaddress extends block_base {
public function init() {
$this->title = get_string('ipaddress', 'block_ipaddress');
}
}
之后通过设置get_content( )函数里$this->content:的值设置该block 的显示内容,如下所示:
public function get_content() {
if ($this->content !== null) {
return $this->content;
}
$this->content = new stdClass;
$ip=$_SERVER['REMOTE_ADDR'];
if((strpos($ip, ":") === false)) {
$gi = geoip_open("/usr/share/GeoIP/GeoIP.dat",GEOIP_STANDARD);
$country = geoip_country_code_by_addr($gi, $ip);
}
else {
$gi = geoip_open("/usr/share/GeoIP/GeoIPv6.dat",GEOIP_STANDARD);
$country = geoip_country_code_by_addr_v6($gi, $ip);
}
$this->content->text = $_SERVER['REMOTE_ADDR']. "
". $country;
return $this->content;
}
增加对中文的支持,lang/zh-cn/block_ipaddress.php文件内容为
<?php
$string['pluginname'] = 'IP 地址';
$string['ipaddress'] = '你的IP地址';
$string['ipaddress:addinstance'] = '增加一个新 IP地址版块';
$string['ipaddress:myaddinstance'] = '增加一个新 IP地址版块 到我的Moodle页面';
其中pluginname为版块名称,出现在网站的版本管理中,ipaddress为版块的标题,当版本被页面调用时,出在版块的标题中。
为显示来源IP地址所在国别,在CentOS中安装GeoIP[9]和GeoIP-devel,完成后/usr/share/GeoIP目录中会包含GeoIP.dat和GeoIPv6.dat两文件,从maxmind的github下载geoip.inc(包含可调用函数)至ipaddress目录中并将其包含在block_ipaddress.php中,至此该Block即完成,可以在Moodle 中添加IP 地址显示版块至相关页面,如图7所示。
3.3 与Adobe Connect的集成
Moodle的价值体现在学习管理功能强大,其基于建构主义和模块化的设计理念,使得Moodle平台易于与其他系统集成,从而扩充功能。学校原有Adobe Connect视频会议系统在中德视频答辩和教学中发挥了重要作用,通过添加IPv6配置和在Moodle中安装插件,即可实现基于IPv6的视频会议(利用IPv6网络,视频会议的网络延迟大大降低)和从Moodle系统→Adobe Connect系统的SSO[10](单点登录),步骤和方法如下:
l 为Adobe Connect 視频会议服务器增加IPv6地址:2001:250:5407:1000::51
l 在DNS服务器上添加AAAA记录:meeting IN AAAA 2001:250:5407:1000::51
l 修改Adobe Connect 服务器操作系统c:\breeze\comserv\win32\conf文件夹下的server.xml文件,将配置文件中的
l 在Moodle平台上安装Adobe Connect Plugins ,配置参数如下:
Host:meeting.hfuu.edu.cn/api/xml
Meeting domain:meeting.hfuu.edu.cn
HTTP Authentication :adobeid
输入Admin Login 的用户名和密码,测试连接,显示结果如下表明Moodle与Adobe Connect已完成无缝集成:
Sending common-info call:
successfully obtained the session key: breezpnktsr57ithxdmm8
successfully logged in as admin user
Testing retrevial of shared content, recording and meeting folders:
successfully obtained shared content folder scoid: 11000
successfully obtained forced-archives (meeting recordings) folder scoid: 11005
successfully obtained meetings folder scoid: 11002
successfully created meeting testmeetingtest scoid: 255404
successfully created user testusertest principal-id: 255405
Moodle平台中教师在课程中添加Adobe Connect[11]活动,通过Assign roles授权班级学生在视频会议中的角色,实现了Moodle平台课程内师生在线视频教学或会议讨论的教学活动,如图8所示。
3.4 系统优化设计
单台Moodle[12]服务器的负载能力可以通过增加CPU处理能力、增加内存、使用SSD固态磁盘和使用更快的网络适配器来解决,数据库和相关服务的参数优化也是提升Moodle系统服务能力[13]的重要手段(相关资料较多,这里不再赘述),在更大规模并发用户应用场景中需要考虑将压力分摊到多台服务器,既需要考虑高负载,还要提升系统的高可用性,数据一致性也必须得到保证。大规模用户的应用环境[14]可以使用如图9所示的架构来搭建,即增加一台高性能Nginx[15]服务器进行访问调度,增加Moodle节点,使用主从数据库,整体提升业务的承载能力。
在测试环境下分别以单Moodle节点和单MySQL节点、单Moodle节点和双MySQL节点、双Moodle节点和单MySQL节点、双Moodle节点和双MySQL节点四种条件进行了负载能力测试,服务负载能力使用了ab-Apache HTTP server benchmarking tool[16],选取最具有代表性的“每秒钟处理请求数量”作为负载能力的结果指标,测试结果如下表所示,从压力测试结果可以看出,使用了“双Moodle节点和双MySQL节点”架构的系统整体性能获得了大幅的提升。
3.5 系统实现与应用
系统建设至今,利用Moodle 这一先进、成熟的开源课程管理平台,进行有针对性的二次开发和集成,已实现了基于IPv6、IPv4双协议栈功能全面的网络教学系统(系统实现如图10、图11、图12、图13所示),建设完成了一门IPv6基础课程,课程管理功能全面,教学活动及学习资源丰富,平台已通过防火墙对CERNET2开放,与华为、新华三等著名IT公司的资深工程师合作,计划将该平台打造成为校企IPv6技术学习交流的重要载体。
4 展望
目前支持IPv6协议的网络学习平臺数量不多,随着IPv6大规模部署和应用深入,基于IPv6协议开展网络教学活动是大势所趋,在现阶段,使用具有教育理论支撑、基于建构主义思想的教学平台Moodle 配合 IPv6 技术,融合多种网络教学相关的多媒体、协作、分析统计等系统,高校可以构建出先进且基于IPv6的一体化教学环境, IPv6 为端到端的多媒体传输质量提升和网络安全提供了更好的技术支持,高校教育信息化工作者应当抓紧时间将现有或新建的学习系统转向支持IPv6协议,拓展IPv6技术应用于教学的场景。
参考文献:
[1]中共中央办公厅,国务院办公厅.《推进互联网协议第六版(IPv6)规模部署行动计划》[OL].http://www.gov.cn/zhengce/2017-11/26/content_5242389.htm, 2017-11-26.
[2] 杨文彬. NAT网络地址翻译技术在高校网络管理中的应用[J]. 山西大同大学学报(自然科学版),2017(02).
[3]IPv6 Users by Country[OL].
[4]杜焱喆. 基于双协议栈的校园网IPv6过渡策略分析与实现[J]. 华东交通大学学报,2012(02).
[5]黎加厚.应用Moodle平台的网络教研如何发展[J].中国信息技术教育,2009(09).
[6]李秀晗,朱启华. 直播技术在高校混合式教学中的新应用——基于香港大学同步混合教学模式的行动研究[J]. 现代教育技术,2019(2):80-86.
[7]李如亮,马红亮,杨冬. Moodle社会网络分析插件研究[J].现代教育技术,2017,27(01):121-126.
[8]黄森,张家华.基于Moodle学习风格插件的设计与开发[J].软件导刊(教育技术) 2016,15(10):84-87.
[9]郑海山.基于开源软件的DNS查询日志分析系统[J].厦门大学学报 (自然科学版) 2017,56(02):252-258.
[10]唐明靖,陈建兵,吴惠.数字化校园真正意义的统一身份认证的研究与实现[J].云南大学学报 (自然科学版) 2013,35(S2):138-142
[11]李琳琳,陈志勇,钱伟新. 中芬合作在线课程开发初探[J].中国教育技术装备 2015(13):182-183.
[12] Moodle官网[OL].
[13]曾棕根,吴志荣,汪志达.Moodle 2大规模在线考试的实现方法[J].计算机时代,2014(12):8-11 .
[14]曾棕根.基于WAMP的简体中文Moodle架设与性能优化[J].现代教育技术, 2011,21(4):136-139.
[15] Nginx官网[OL].
[16] ab-Apache HTTP server benchmarking tool[OL].
【通联编辑:王力】