beplay2网页登录
beplay2网页登录
2019年度教育信息化優秀案例丨上海交通大學:高校基於ECS優化DNS權威解析
2020-05-13 14:42:00
中國教育和科研計算機網
作者:章思宇 封寒鬆等

  大型互聯網網站和服務采用CDN使用戶就近訪問資源以提高訪問速度。CDN在各地區、各運營商部署的節點,大多通過DNS進行流量調度。

  權威DNS服務器的分離解析(Split DNS)技術根據不同來源IP地址對同一域名返回不同的解析結果,實現了差異化的流量調度。

  當用戶使用運營商提供的本地遞歸DNS服務器時,該方法能較好地將用戶引導到最優的CDN節點,因為權威DNS服務器看到的查詢源IP即遞歸服務器IP與用戶處於同一地區和運營商。

  然而,隨著公共DNS服務的流行(如OpenDNS、Google Public DNS、114DNS等),遞歸服務器的IP地址已無法代表用戶所在的地區和運營商。

  即使公共DNS服務采用了Anycast部署,其節點分布仍存在很大局限性,尤其是國外的OpenDNS和Google公共DNS目前在中國大陸尚無節點。

  為了給使用公共DNS服務的用戶提供更準確的CDN域名引導,EDNS Client Subnet(ECS)擴展允許遞歸DNS服務器將用戶IP子網信息包含在DNS查詢請求中,以幫助權威服務器識別用戶位置和運營商,返回最優的解析結果。

  ECS的工作機製在RFC 7871中定義,目前被Google、OpenDNS和騰訊DNSPod等公共DNS服務所支持。

  支持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.cn,對需要分離解析的如vpn.sjtu.edu.cn域名,首先CNAME指向由gdnsd提供服務vpn.ecslb.sjtu.edu.cn,再依據ECS或遞歸IP提供不同的解析結果,如圖1所示。sjtu.edu.cn域仍由原先的ISC BIND服務器解析,且不再需要視圖配置。


圖1 權威解析ECS 配置示意

  gdnsd的GeoIP插件用於支持GSLB(全局負載均衡),但利用默認的MaxMind GeoIP數據庫不能實現國內幾大運營商的區分(gdnsd尚不支持GeoIP ASN數據庫),因此我們使用Clang.CN提供的國內運營商IPv4和IPv6地址段在gdnsd配置文件中定義“nets”實現自定義的IP段到“數據中心”的映射。

  為了驗證ECS權威解析的效果,從202.120.2.x的教育網地址發起對vpn.sjtu.edu.cn的DNS請求,同時利用gdnsd的Reflect插件配置whoami子域名返回遞歸服務器地址和ECS地址。

  對於不支持ECS的百度公共DNS(180.76.76.76),其遞歸地址111.1.52.5(圖2-a)屬於浙江省移動,因此解析的“cm.vpn”移動地址(圖2-b),對教育網用戶不是最優。

  支持ECS的騰訊DNSPod(119.29.29.29),盡管其遞歸來源183.57.53.63(圖2-c)屬於廣東省電信,但根據其提供的ECS地址202.120.2.1仍可將用戶引導到最優的教育網入口(圖2-d)。


圖2 vpn.sjtu.edu.cn 解析結果對比

  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,OpenDNS申請後也對我校域名啟用ECS,三者合並用戶數8922個,由此計算學校權威域名服務支持ECS後可使9.5%的校園網內用戶受益。


表1 校園網用戶DNS 服務選擇

  圖3顯示了兩台gdnsd權威服務器一個月內每小時的請求數,兩台合計處理平均每秒204.5個請求,其中支持ECS的請求占25.1%。


圖3 gdnsd 服務器請求量

  全月處理的1.24億個ECS查詢請求,來自總共2038個IP地址,分屬51個不同的自治係統,統計如表2。


表2 ECS請求源地址分布統計

  其中來自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高校信息化創新實踐方案展示

免責聲明:

① 凡本站注明“稿件來源:beplay2网页登录”的所有文字、圖片和音視頻稿件,版權均屬本網所有,任何媒體、網站或個人未經本網協議授權不得轉載、鏈接、轉貼或以其他方式複製發表。已經本站協議授權的媒體、網站,在下載使用時必須注明“稿件來源:beplay2网页登录”,違者本站將依法追究責任。

② 本站注明稿件來源為其他媒體的文/圖等稿件均為轉載稿,本站轉載出於非商業性的教育和科研之目的,並不意味著讚同其觀點或證實其內容的真實性。如轉載稿涉及版權等問題,請作者在兩周內速來電或來函聯係。