解析一个域名的IP地址是DNS必备的功能,但是DNS的开源程序bind除了实现解析功能之外,很难根据用户的来源、特征或实际网络链路的访问质量做出灵活的交互性响应。这个问题在我校使用多家运营商的网络链路情况下表现得尤为突出。主要体现为以下几点:
1.教育网出口用户使用DNS 61.129.42.6解析出常用域名的非教育网免费地址列表的IP而无法直接访问;
2.使用DNS 202.120.224.6/26解析出的地址,对于电信或联通出口的用户访问速度较慢;
3.非电信出口用户使用DNS 61.129.42.6解析出的地址,可能是针对电信链路的,访问速度较慢或无法访问。
以上三点导致一些用户可能需要在202和61的DNS之间来回切换。并且对于某个域名而言,202和61的DNS在一段时间内只能根据域名所有者制定的策略解析出某几个IP,而这几个IP对于我们的多链路访问而言可能不是最优的结果,因而带宽访问质量无法得到优化。
以上问题在某些对访问人数有限制的网站表现得较为明显,例如12306.cn火车票订票网站,对同时在线的人数有限制,当已登录人数超过上限即无法登录。使用202的DNS做解析经常会出现校内用户无法登录的情况。
据此,信息办于2013年1月开发了DNS的CDN访问策略模块。通过该策略模块进行负载均衡调整之后,12306网站多条链路的页面响应速度均控制在200ms左右,属于较优的结果。同时,用户可以被均匀地分配到多个CDN站点之上,增大了登录成功的概率。