您的位置:首页 > 参评方案展示 > 基础设施

浙江大学:CDN技术提升高校资源访问体验

  目前国内大多数高校网站使用了联通、电信、移动、华数等多链路运营商接入,但由于国内各网络运营商之间互联互通带宽仍然较小,导致国内各地用户访问高校网站资源速度较慢,影响各高校对外交流。传统的多域名服务器镜像解决方法,存在着电信、联通、移动、华数等多ISP镜像同步管理难、国内用户访问效果不佳、多域名不易宣传使用等问题。

  随着低成本的基于云技术的CDN广泛应用推广,国内中小型网站用户能够在减少对大量硬件设备和维护费用投入的前提下,以较低的成本投入即可扩容提升自己的网站,使其拥有近似于互联网大中型商业门户般的页面快速访问响应速度,可一定程度上解决目前国内用户访问高校网站资源浏览体验不佳的问题。

  为什么需要CDN技术?

  浙江大学目前自建有超过400多个网站且逐年增加,这些网站作为学校网络教育信息资源的重要窗口,也是对外宣传、新闻、招生、就业、学习、在线教育的一个重要平台。目前这些网站部署于校园核心机房,大部分通过教科网线路接入,近年来如下问题日益突出:

  1.用户访问速度受限于运营商互联,从其它电信、联通等运营商访问学校网站速度较慢,出国访问速度问题尤其突出,海外地区和小运营商用户甚至打不开,该现象在学校师生出差和外访时尤为明显。

  2.系统直接暴露于公网,自建数据中心受出口带宽限制,攻击防护能力有限,安全风险较高。

  3.集中式架构在可靠性、可扩展性方面较弱,在招生、考试等业务高峰期,网站负载高,扩容周期长、成本高。

  CDN技术好用吗?

  CDN应用分析如图1,使用了CDN技术后的学校网站的访问过程:

  1.校外用户输入浙大网站域名;

  2.浙大权威DNS服务器向用户返回包含CDN信息的CNAME记录;

  3.校外用户根据返回信息向CDN资源点请求资源;

  4.调度近邻CDN结点向用户返回学校源站镜像资源;

  提升海外地区访问速度

  如图2所示,实线为应用CDN技术后的网站打开时间,虚线为未应用CDN技术的网站打开时间,应用CDN技术后,网站打开速度平均提升了63%。

  CDN技术应用前,日本、欧洲、北美地区打开浙大网站的打开时间为30s左右,CDN技术应用后的这些地区打开时间缩短到15s左右。

  提升国内访问速度

  图3为国内各地区打开浙江大学某网站所用时间的展示,深色条状为应用CDN技术后的打开时间,白色条状为应用CDN技术前的打开时间,北京、天津、石家庄、郑州、济南、太原等北方城市的打开时间从30s以上缩短到10s左右,上海、南京、广州等南方城市的打开时间也有1倍以上的速度提升。

  降低数据中心负载

  使用CDN后,最终用户是通过CDN节点进行访问,极大地降低了源服务器压力,浙大网站群经过CDN加速后,源站压力减轻了78.72%,而只有原来的21.28%,如图4所示。

  提高网站可用性

  在网站进行日常维护或发生故障造成不可用的情况时,CDN可以充当网站的镜像,依然提供节点上缓存的文件,保障用户的浏览不受影响,提供网站的整体可用性。

  如图5所示,部分地区无法打开浙大网站(虚曲线所示),而应用CDN技术后的可用性仍能保持100%(实曲线所示)。

  提升网站安全性

  CDN系统是一种分布式的服务系统,并且拥有大量的带宽和服务器资源。因此,对于常见的DDOS(包括SYNFlood、UDPFlood、ICMPFlood、HTTPGET/POSTFlood、CC攻击、DNSQueryFlood)等分布式攻击,具有较强的抵御能力。某些含有防攻击功能的CDN系统,还可以对攻击IP进行过滤,把访问异常的IP指向特定页面或拒绝服务。

  另外一方面,网站在采用CDN服务后,源服务器可以隐藏在CDN系统后面,只为CDN节点IP的指定端口提供服务,减少暴露在公网上,被黑客直接访问和扫描的风险。

  门户网站与教学资源的用户访问体验是提升高校整体形象和对外宣传不可或缺的一部分,高校可根据成本考虑选择性价比高的互联网云CDN厂商平台技术加速国内资源访问,CDN技术在高校信息化建设中的应用,将帮助高校信息化部门实现对信息系统在全球的访问提升和统一管理,同时能明显加强高校的信息安全防护能力,也许,随着技术的不断发展,CDN在教育行业的应用将越来越广泛。

  (作者单位为浙江大学信息中心)

来源:中国教育网络作者:单康康 王佶 常晓洁 郑强
《中国教育网络》
杂志微信公众号
高校信息化应用
微信公众号
高校网络安全
微信公众号
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?b841bd73360946ada23db9fa82c9c6ae"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();