设为首页收藏本站

八达网

 找回密码
 注册
查看: 153|回复: 5
打印 上一主题 下一主题

_______________ : 详解DNS原理 - 六省断网其实和DNSPod无关.

[复制链接]

0

主题

0

好友

1万

积分

航母

跳转到指定楼层
1
发表于 2009-5-23 20:34 |只看该作者 |倒序浏览
最近在CB上看到多篇存在关于DNS故障的文章,其中大多存在谬误,让人产生问题在于DNSPod,而暴风影音是无辜的受害者的错觉。这里我觉得有必要出来说说DNSPod才是无辜受害者,错全在暴风(还有黑客)。首先说说DNS是怎么注册的:

一个域名注册成功以后上级域名的拥有者把这个域名的解析授权(Delegate)给用户指定的域名服务器,此时该服务器成为该域的权威(Authoritative)服务器,一切到该域名的查询以此服务器提供的结果为准。(也存在不授权只设置NS记录的情况。)

比如新浪注册了sina.com,向VeriSign交了钱以后,VeriSign在他们的根域名服务器里面添加如下的记录:

sina.com. 60 IN NS ns3.sina.com.cn.
sina.com. 60 IN NS ns1.sina.com.cn.
sina.com. 60 IN NS ns2.sina.com.cn.
ns1.sina.com.cn. 37305 IN A 202.106.184.166
ns2.sina.com.cn. 37305 IN A 61.172.201.254
ns3.sina.com.cn. 37305 IN A 202.108.44.55

然后我们看如何解析:
因为DNS是非常基础的服务直接关系到网络访问的效率,所以DNS是采用多级缓存的方式运作的。通常一个程序发出DNS请求以后,系统会先搜索自己的DNS 缓存,没有找到则会向网络设置中的DNS服务器发出请求。对一个电信用户来说这个服务器被DHCP协议自动配制成电信指定的服务器。

电信的DNS服务器在收到请求后还是检查自己的缓存,与个人电脑的缓存机制不同的是,一般公共DNS服务器为了加快解析减少流量,都将一个成功的解析缓存域名记录中指定的最长时间(即TTL值,常见的是3600秒)。但如果缓存里没有这个域名的记录,此时根据配置不同有两种选择:一是向自己的上级DNS服务器请求(Forwarder),二是从root-hints开始逐级向下解析。比如当收到www.sina.com的请求的时候,DNS发现缓存里有.com的域名的NS(域名服务器指向)记录,随即向该服务器请求sina.com,获得一个新浪的域名的NS记录以后转而向该服务器请求 www.sina.com。新浪的服务器返回结果,解析成功并将结果返回用户,同时将中间所有的结果都缓存下来以备下次使用。

从上面的过程可以看出,绝大多数的用户频繁访问的域名都已经在比较低级的DNS缓存了,一般几小时才会向该域名 的权威服务器发送请求。

再来看看此次断网倳件:
首先DNSPod被攻击了,其实在断网前几天DNSPod的Web服务器(和NS1)也被攻击过。因为流量巨大,当地电信在骨干网上封掉了他们电信主域名服务器的IP。

3600 秒以后,缓存在各地DNS服务器上的暴风的记录过期,但此时暴风指向DNSPod的NS记录还没有过期(一般是24小时),于是各地的DNS继续向已经被封掉IP的服务器发送查询。由于域名查询使用UDP协议,服务器不会马上意识到对方主机已经下线(也可能与电信封IP的方式也有关,没有返回ICMP 包),在超时以后才放弃查询。但由于DNS服务器一般被配置为不缓存失败的查询,所以下一个DNS请求来的时候它还是得去向那个封掉的IP发送查询。
(注意此时DNSPod的IP被电信封了,后续所有的内容都和DNSPod无关。)

然后我们看看暴风客户端在干什么,首先它很”无辜“地向自己的服务器请求一个广告或者升级,于是需要解析服务器的域名。电信的DNS服务器收到请求以后,等待两秒没收到结果,只好对客户端说sorry。可是暴风客户端马上开始重试重试再重试,于是全国上亿的暴风用户都向DNS服务器发出的请求。由于这些服务器始终无法解析出域名,这些请求逐渐被堆积在内存里。最悲哀的是每个请求需要有一个请求ID以对应每一个客户端,而这个ID数量是有限的,当并发请求数达到一定数量的时候内存或者ID耗尽,服务器拒绝服务了。

从以上可以看出,此次的元凶除了最早攻击DNSPod的黑客以外,大概就是暴风流氓式的程序设计了。

5

主题

2

好友

5万

积分

光明执政官

从此不再日星际

2
发表于 2009-5-23 20:37 |只看该作者
国内这些软件多为流氓软件
回复

使用道具 举报

24

主题

0

好友

3万

积分

大和

3
发表于 2009-5-23 20:40 |只看该作者
是不是这样,
请高手来指点一下!
十年前,熊大与我在此讨论何为八达,当时我说,八达——就是为了四万万星际玩家人人能够聊女人,下种子,爆猛料。十年过去了,我从他乡漂泊重临,与我星际者相继cs、dota、玩魔术。八达两字与我而言不可同日而语,今日再道何为八达,我会说,欲求论坛之威武,不得不经开启民智之痛苦,而这痛苦就是八达!!!
回复

使用道具 举报

19

主题

0

好友

4万

积分

大和

信义坊第一R

4
发表于 2009-5-23 20:43 |只看该作者
电信也很牛的
dns说封ip马上就封了
回复

使用道具 举报

0

主题

0

好友

1万

积分

航母

toss出品 bisu精品

5
发表于 2009-5-23 20:46 |只看该作者


过来借个地泡个澡啊~
寂寞就是,你跟你不爱的人玩了一天,你爱的人跟别人玩了一天,最后大家千里来相会,一起又玩了一天。

=F2-(RAND()*(5-1)+1)
回复

使用道具 举报

头像被屏蔽

13

主题

0

好友

4118

积分

禁止发言

6
发表于 2009-5-23 20:55 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|八达网    

GMT+8, 2026-5-8 06:31

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部