SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Defeat Public DNS


                Water
              2011-09-08
In a CDN’d world
       CDN d world,
OpenDNS is the enemy!
             ——国外网友
               国外网友
2009年12月4日
Google推出了免费的DNS服务,
并称使用Google的DNS可以加速
并称使用G     l 的DNS可以加速
用户的访问速度,提升上网安全
用户的访问速度 提升上网安全
性,且没有烦人的重定向问题
性 且没有烦人的重定向问题
……

大批的G粉与非G粉将
LocalDNS设成了4个8
         成
随后,陆续有使用4个8的童鞋
发现网站访问速度极慢

             坑爹呢 哥在
             坑爹呢,哥在TC!



90周年期间,opendns
        p
用户反映网站打开缓慢
一些运营商使用了双线或者多层
级DNS,也导致用户分配错误
级DNS 也导致用户分配错误
大量用户跨运营商访问
据不完全统计:
Public DNS resolver服务器数量超
过7000台
超过5W的国内用户使用国际Public
超过5W的国内用户使用国际P blic
DNS
超
超过21W的国内用户因为DNS混搭
          国内用户因为       混搭
混指问题, 导致跨运营商访问
如何把这些用户分配到
正确的节点呢?
       Google DNS神马的最
       讨厌了,偶要把4个8
       讨厌了 偶要把4个8
       指回国内!
When a DNS resolver queries an 
authoritative nameserver for a 
CDN's IP address, the 
nameserver returns an address 
which is closest (in network 
distance) to the resolver, not 
the user. 
……               http://code.google.com/speed/
                        public-dns/faq.html#cdn
OpenDNS architecture
按照resolver与用户区域的对应关
系,将resolver划分到该区域,便
系 将     l 划分到该区域 便
能修正一些publicdns的用户
view “china" {
      china { 
  match‐clients { 64.233.182.81; 64.233.182.82; };
……
view “japan" {                      那么如何取得这个
                                    resolver与用户区域
  match‐clients { 64.233.182.83; };
                                    的对应关系呢?
……
view “korea” { 
  match‐clients { 64 233 182 0/24; };
                  64.233.182.0/24; };
……
Google公布了解析器IP,不同解
析器负责不同区域的用户解析
( 现如今Google较少维护这个Iplist )
获取用户与LDNS的对应关系
PHP代码:
<?
$ip = $ SERVER["REMOTE ADDR"];
      $_SERVER[ REMOTE_ADDR ];

echo "<img
      <img
src=http://$ip.cdn.sdo.com/blank_$ip.jpg>";
echo " b "
  h "<br>";
echo "<img g
src=http://123.45.67.89/blank_$ip.jpg>";
?>
Tip:对同一资源的两次访问,测
量DNS解析时间




      http://yahoo.github.com/boomerang/
                 doc/howtos/howto-8.html
对于无法提供内容的CDN服务提
供商,可以使用如下方法:
供商 可以使用如下方法
proxy_intercept_errors
proxy intercept errors on;
location /favicon ico {
         /favicon.ico
proxy_pass http://backend;
error_page
error page 404 = @gather;
}
location @gather {
rewrite ^
http://$remote_addr.sdo.com/favicon.ico;
expires -1;
    i    1
}
多区域用户共用resolver node
时无法区分用户来源
时 法 分 户来
如何区分共用
如何区分共用resolver用户?
              用户
国内p
国内publicdns用户的归宿?
           用户的归宿
如何分配双线运营商用户?
 何分 双      营 用户
重定向法:
1. 通过前面提到的方法将存在共用
   情况的resolver解析到一台调度服
   情况的resolver解析到 台调度服
   务器上
2. 用户向调度服务器发起请求
3. 调度服务器根据用户来源,返回
   一个重定向
    个重定向




        Redirect
1. 用户访问重定向后的新地址(新地
   址被解析到用户最近节点)
2. 节点服务器拿到用户请求并还原,
2 节点服务器拿到用户请求并还原
   将原始请求转发给源站




     Rewrite
1. 源站返回用户请求给节点服务器
2. 节点服务器拿到源站返回后,扫描
2 节点服务器拿到源站返回后 扫描
   其中文本内容的URL链接,并根据
   其中文本内容的URL链接 并根据
   自身节 信
   自身节点信息进行替换,保证用户
          行替换,保 用户
   的后续访问




      Substitute
调度法:
1. 调度服务器与节点服务器间先使用
   IP隧道打通
2.
2 节点服务器将调度服务器的IP设置
   为自己的虚拟
   为自己的虚拟IP



         123.45.67.89


     IP tunnel
                        123.45.67.89
1. 用户将请求发送到调度服务器时,
   调度服务器将用户请求封包并转发
   给最适合的节点
2. 节点服务器解开封包,直接将请求
   节 服务 解开  , 接将
   返回给用户

  Forward
回顾:
1. 使用LDNS采集系统收集用户与
   LDNS对应关系,将resolver分配
   到对应的区域
2. 将存在用户共用的resolver解析
2 将存在用户共用的      l 解析
   到专门的调度服务器
3. 调度服务器判断用户来源,通过
   重定向或IP隧道将用户转移到最
   适合的节点
修正了18.6%的海外用户分配
修正了18 6%的海外用户分配
5.9%的用户访问体验得到提升
5 9%的用户访问体验得到提升
盛大网络
云计算主题院
• 云主机   • 云监控
• 云存储   • 云分发
• 云硬盘   • MongoIC



            http://www.grandcloud.cn/
THANK YOU


     只要剑法玩得好,剑宗也能胜气宗
      http://weibo.com/waterha/

Weitere ähnliche Inhalte

Ähnlich wie Defeat Public DNS

Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战zhen chen
 
Rpc原理与实现
Rpc原理与实现Rpc原理与实现
Rpc原理与实现wavefly
 
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享Duran Hsieh
 
互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集zhen chen
 
前端性能优化和自动化
前端性能优化和自动化前端性能优化和自动化
前端性能优化和自动化kaven yan
 
Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践Li Yi
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍Tianwei Liu
 
鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobao鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobaoterryice
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践self study
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践rewinx
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践Frank Cai
 
Huangjing renren
Huangjing renrenHuangjing renren
Huangjing renrend0nn9n
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
20201006 meta_coin 六角學院
20201006 meta_coin 六角學院20201006 meta_coin 六角學院
20201006 meta_coin 六角學院Hu Kenneth
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3redhat9
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 
吴岷 视频Cdn分发、调度与服务的探讨
吴岷  视频Cdn分发、调度与服务的探讨吴岷  视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨drewz lin
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结redhat9
 

Ähnlich wie Defeat Public DNS (20)

Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战
 
Rpc原理与实现
Rpc原理与实现Rpc原理与实现
Rpc原理与实现
 
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
[Study4TW Visual Studio Everywhere] asp.net core 實務開發經驗分享
 
互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集
 
前端性能优化和自动化
前端性能优化和自动化前端性能优化和自动化
前端性能优化和自动化
 
Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践Gops2016 云端基于Docker的微服务与持续交付实践
Gops2016 云端基于Docker的微服务与持续交付实践
 
DAE 新变化介绍
DAE 新变化介绍DAE 新变化介绍
DAE 新变化介绍
 
鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobao鹰眼下的淘宝_EagleEye with Taobao
鹰眼下的淘宝_EagleEye with Taobao
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
 
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
 
Huangjing renren
Huangjing renrenHuangjing renren
Huangjing renren
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
20201006 meta_coin 六角學院
20201006 meta_coin 六角學院20201006 meta_coin 六角學院
20201006 meta_coin 六角學院
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
吴岷 视频Cdn分发、调度与服务的探讨
吴岷  视频Cdn分发、调度与服务的探讨吴岷  视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
 
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
 
Html5
Html5Html5
Html5
 

Defeat Public DNS