网络管理
上海交通大学
高校基于ECS优化DNS权威解析
載/章思宇封寒松黄保青
大型互联网网站和服务采用CDN使用户就近访问资源以提高访问速度CDN 在各地区、各运营商部署的肖点,大多通过DNS进行流量调度:权威DNS服务器的分离解析(Split DNS)技术根据不同来源IP地址对同一域名返回不同的解析结果,实现了差异化的流量调度,当用户使用运营商提供的本地递归DNS服务器时.该方法能较好地将用户引导到最优的CDN 带点,因为权威DNS服务器看到的查询源IP即递归服务器IP与用户处于同一地区和运营商
然而.随着公共DNS服务的流行(如OpenDNS、(JooglePublic DNS、114DNS等),递归服务器的【P地址已无法代表用户所在的地区和运营商:即使公共DNS服务采用T Anycast部署,其节点分布仍存在很大局限性,尤其是国外的OpenDNS和Google 公共DNS目前在中国大陆尚无节点。
为了给使用公共DNS服务的用户提供更准确的CDN域名引导,EDNS Client Subnel(ECS)扩展允许递归DNS服务器将用户IP子网信息包含在DNS查询请求中.以帮助权威服务器识别用户位置和运营商,返回最
优的解析结果ECS的工作机制在RFC7871中定义,目前被Google、OpenDNS和腾讯DNSPod等公共L)NS服务所支持
支持ECS的权威解析方案
ISC BIND作为最流行的开源DNS服务器软件,从2016年的9.11
版本开始试验性地支持权
威服务器的ECS功能;
但由于GeoIP支持的局限
性使其实现难以符合RFC
规范,且配置效率低下,
该功能在2018年9.13.1
版本中被移除"目前支持
ECS的权威DNS服务器
软件有gdnsd和PowerDNS
上海交通大学的邮件系统、入校VPN
和开源软件FTP镜像等访问量较大的服务
配置有多个运营商的服务地址服务地址
的选择过去采用ISC BIND的视图(View)
功能实现DNS分离解析,始终存在对公
共DNS用户的错误引导问题,尤其是将
众多使用Google等国外公共DNS的国内
用户,引导到邮件系统的海外镜像节点,
造成访问速度显著下降为了解决该问题.
学校权威域名服务引入支持ECS的方案
来替代ISC BIND的视图功能
新方案采用gdnsd软件,建立支持
ECS的CNAME跳转专用子域ecslb.sjtu.
edu,对需要分离解析的如vpii.sjtu.edu.
cn域名,首先CNAME指向由gdnsd提供
服务slh.sjtu.edu.
<n,再依据ECS或递归
1P提供不同的解析结
果,如图1所示.sjlu.
etlu域仍由原先的
ISC BIND服务器解析.
且不再需要视图配置,
gdnsd的GeoIP插
件用于支持GSLB(全
sjtu.edu.
(ISC BIND)
|vpn slb
(a)百度DNS递归地址
ecslb.sjtu.edu.
(gdnsd)
edu.vpn A202.120.14.5
cm.vpn A183.195.252.42
cu.vpn A58.247.200.250
vpn DYNC geoip!vpn
vpn=>{
dcmap=>{
sjtu=>edu.vpn.sjtu.edu.,
cernet=>edu.vpn.sjtu.edu.,
cmcc=>cm.vpn.sjtu.edu.,
unicorn=>cu.vpn.sjtu.edu.,
图1权威解析ECS配置示意
局负载均衡).但利用默认的MaxMind
(;eoIP数据库不能实现国内几大运营商的
上海的大学排名
区分(gdnsd尚不支持GeoIP ASN数据库),
因此我们使用Clang.CN提供的国内运营
商IPv4和IPv6地址段在gdnsd配置文件
中定义“nets”实现自定义的IP段到“数
据中心”的映射.
为了验证ECS权威解析的效果,从
202」20.2.x的教育网地址发起对vpn.sjtu.edu.
cn的DNS请求,同时利用gdnsd的Reflect
插件配置whoatni子域名返回递归服务器
地址和ECS地址。对于不支持ECS的百
度公共DNS(180.76.76.76),其递归地址
111.1.52.5(图2-a)属于浙江省移动,因
此解析的''cm.vpn"移动地址(图2-b),
对教育网用户不是最优“支持ECS的腾讯
(b)百度DNS解析结果
(c)腾讯DNSPod递归地址(d)腾讯DNSPod解析结果
图2vpn.sjtu.edu解析结果对比
52中国教育网络
20194
[网络管理
DNSPod(119.29.29.29),尽管其递归来源183.57.53.63(图2-c)属于广东省电信,但根据其提供的ECS地址202.120.2.1仍可将用户引导到最优的教育网入口(图2-d)
ECS优化效果分析
Jia ZHANG等人2017年对Alexa排名前1万的网站域名进行了探测,结果显示在过去5年间CDN的使用率没有明显增长,但权威服务器支持ECS的比例有了显著提升.排名前100的网站有超过50%支持ECS。过去的研究更多地关注CDN 或网站侧支持ECS的情况,而学校权威域名服务启用ECS的效益取决于使用公共DNS服务的用户规模和公共DNS对ECS 的支持情况。
通过对校园网DNS服务器和校园网出口DNS流量持续一个月的分析,9.38 万个校园网用户中有1.87万
使用校外公共DNS服务(按独立IP统计),占比达20%。各公共DNS的用户数统计见表1, Google和腾讯DNSPod默认支持ECS, Ope.iDNS申请后也对我校域名启用ECS,三者合并用户数8922个,由此计算学校权威域名服务支持ECS后可使9.5%的校园网内用户受益。
图3显Z5了两台gflnsd权威服务器一个月内每小时的请求数,两台合计处理平均每秒204.5个请求,其中支持ECS的请求占25.1%。
全月处理的1.24亿个ECS查询请求,来自总共2038个IP地址,分属51个不同的自治系统,统计如表2:其中来自
图3gdnsd服务器请求量
表1校园网用户DNS服务选择
服务商典型IP地址用户数ECS 1114DNS114.114.114.11410265
2Google8.8.8.87340支持
3腾讯DNSPod119.29.29.293080支持
4阿里223.5.5.53037
5百度180.76.76.762468
6360101.198.199.2002258
7DNS派101.226.4.6783
8Cloudflare  1.1.1.1631
9Ope n DNS208.67.222.222301支持
10CNNIC  1.2.4.8116
表2ECS请求源地址分布统计
自治系统请求数请求%1AS15169Google LLC12669111112073.50% 2AS36692OpenDNS,LLC3152502700720.19% 3AS30607302Direct Media LLC631935296  1.56% 18606830.69% 5AS58540China Telecom Zhuzhou17988450.64% 6AS23650CHINANET 37878720.64% 7AS23724IDC,14111670.33% 8AS4837CHINA 103492510.28% 9AS28299IPV6Internet Ltda83433300.28% 10AS17638TIANJIN Provincial Net of CT73324200.27%
Google和OpenDNS的请求最多,分别占
总ECS请求数的73.50%和20.19%:支持
ECS的请求中,来自中国大陆地区的仅占
5.31%ECS查询携带的用户地址信息,
99.41%为IPv4地址,IPv6仅占0.59%。
使用支持ECS的权威服务器(如
gdnsd等)替代传统的ISC BIND视图配
置,可有效解决校园网用户及国内用户使
用Google、OpenDNS等公共DNS服务时
的分区域、分运营商解析问题*流量分析
结果显示.上海交通大学校园网内有9.5%
的用户使用支持ECS的公共DNS服务.
该改进可使8922位校园网用户受益与
此同时,gdnsd权威服务器上线后,处理
的校外递归DNS服务器请求中.有25-1%
的查询请求支持ECS,因此该方案的部署
具有显著的意义。鈕(责编:王左利)
(作者单位为上海交通大学网络信息中心)
基金项目:赛尔网络下一代互联网技术创新项目
(NGII20170118)
2019.4中国教育网络
53