首页 > 代码库 > 访问网址(使用CDN)时 智能DNS调度 与 用户定位调度(根据IP定位)
访问网址(使用CDN)时 智能DNS调度 与 用户定位调度(根据IP定位)
大型网站或多受众用户服务网站在中国特定网络环境下,离不开CDN(内容服务网络)及用户调度。而CDN与用户调度则涉及智能DNS解析与用户定位的问题.
大家知道,现在很多网站的 GLSB 都是基于 DNS 来做用户定位调度.DNS 的解析流程如下:
比如,我是北京的用户,我的 DNS 为 202.106.0.20.当我要打开 www.php-oa.com 时,先会给请求发给 ISP 告诉我的 DNS.这个叫 Local DNS .然后其它的向根域和二级域的查询,都是由 Local DNS 帮我完成的.
当一个网站使用了智能的 DNS 后,智能 DNS 服务器会得到 Local DNS 的 IP 来区分用户的来源.如下,发现 202.106.0.20 这个 Local DNS 的地址,然后到自己收集的地址中一对比,是北京联通用户.然后给我解析 cname 到 bj.www.php-oa.com 这个地址.
这样完成了我最近的用户到最近的网站服务器的目的.(图1)
图1
但这个有个小问题,就是当用户设的 DNS 地址不对时,比如现在很多人喜欢使用 google 的 DNS .时会出现什么样的问题啦?
我们看下面的图片(图2),就会知道.
当使用了错误的 Local DNS 后,用户的定位就不准了.这样会解析到离自己很远的服务器,比如,我使用了 google 的 8.8.8.8 的地址的 Local DNS.这时智能 DNS 只能得到 8.8.8.8 .然后智能 DNS 一查这个地址,是美国.就给解析到国外,我这画的是解析到 hk.www.php-oa.com.
在 Local DNS 地址不准时,解析基本都是不正常的.这些用户的响应和打开就非常慢.
所以在这可以看出 DNS 方式用户位置判断准确率大于85%,HTTP 方式准确率为 99% 以上
图2
解决方法,使用 IP 定位.
什么是 IP 定位,见下面的图.图实在不怎么样…不好意思,随手搞了一下.
当我们打开一个地址时,如下,使用了错误的 Local DNS ,但这些 Local DNS 查的智能 DNS 怎么样只会给出少量的地址,比如南方和北方都只有一个,解析的地址这些不会根着地区变化.
解析到的服务器,其实不是真实的服务器,只是一个 IP 调度器.这时客户端就会试着连接这个调度器,但调度器不吐文件,只会吐出一个 302 的响应,转到别的服务器(真实的最近的服务器).
因为这些用户真实的请求出来到调度器上,不在是 Local DNS 的 IP ,是用户实际的 IP ,这些可以在调度器上在查 IP 的来源.这些就会非常准.
然后在使用 302 定位.更加高级可以使用 tcp 迁移技术
在这个时候调度器可以做得非常强大,象大脑一样,多少量,多少请求,有多少热点,请求了多少文件.
使用上面的技术进行用户定位,优点很明显,定位非常非常精准,可以非常快和高效的定位到合适的资源.但不好的一点也很明显,需多进行一次 302 跳转,处理时间变长了一点点,所以非常合适视频网站之类来使用.
显而易见,智能GSLB并不能很好的解决用户定位问题,但够简单。而用户IP定位可以较好的解决,但并不一定适合高访问量的页面请求,因为调度器可能成为瓶颈或者302跳转增加了DNS的时间,当然302可以设置缓存过期时间。
原网址:http://www.5iops.com/html/2012/network_0709/174.html
关于local DNS,国内开放的LDNS很少(普通获取方法与获取http代理类似,都是到一些公布LDNS服务器或公布http代理的网站去爬去数据)。一些公司有自己的DNS,不会开放。
http://wenku.baidu.com/link?url=GGK047_bzMJlBtXbCCvySBKZmy5UlS1YT480m0UPNneyszmEd-jvOvI-jMTDF9HijNMhgVCk3u2ZyNMRvdUMjibb0-p3wqO3MKLImVLBW7O&qq-pf-to=pcqq.c2c 该网址列出一些免费的可用的DNS,
如Google DNS:8.8.8.8
几个常用的几个 dns 服务器地址和国外免费 dns 列表
1.Opendns opendns 的速度不快但也不算慢,推荐使用 /208.67.222.222/ /208.67.222.220/ /208.67.220.220/ /208.67.220.222/
2.Google dns 大名鼎鼎的 Google dns 是最好记的, 以前速度很快, 可是最近国内使用的话, 可能有时候会慢, 一般推荐。 /8.8.8.8/ /8.8.4.4/
3.v2ex dns V2ex dns 属于 v2ex 社区的测试服务,跟据其介绍,最大的优点就是 app store 加速和智能纠错。但是对 我来说,最大的优点就是使用 v2ex dns 可以访问很多在国内无法访问的网站,好像是可以防止 dns 污染, 而 opendns 和 Google dns 是无法防止 dns 污染的。 v2ex 缺点也很明显,因为还在测试,有时候不太稳定。速度也不太理想。 /178.79.131.110/ /106.187.34.91/
4.114dns 最近又发现一个提供免费 dns 解析网站,114dns 也宣称安全可靠,不会有劫持,应为在国内,速度应该比 Google 和 opendns 快。
114dns 的地址是 114.114.114.114
很多文章还提到使用 opendns 和 Google dns 可以防止 dns 解析错误,其实是不行的。 大家可搜索 OpenDNS 月光博客:OpenDNS 不能解决 DNS 解析错误 这篇文章
我自己现在使用的就是: 178.79.131.110 208.67.220.220 8.8.8.8 202.96.134.133 (v2ex) (opendns) (Google) (深圳电信)
国内外 dns 列表 港澳台 DNS 服务器地址
资料来源 tenacy
香港: 205.252.144.228 202.181.202.140 澳门: 202.175.3.8 台湾: 168.95.192.1
国外 DNS 服务器地址
美国: 208.67.222.222 165.87.13.129 205.171.3.65 198.41.0.4 198.32.64.12 192.203.230.10 192.112.36.4 192.58.128.30 193.0.14.129 128.8.10.90 208.96.10.221 205.171.3.65 165.87.13.129 加拿大: 209.166.160.36 英国: 193.0.14.129 日本 202.12.27.33 韩国: 164.124.101.31 168.126.63.60 新西兰: 202.27.184.3 203.248.240.31 168.126.63.61 202.216.228.18 209.166.160.132 208.67.220.220 165.87.201.244 205.171.2.65 198.41.0.4 192.33.4.12 192.5.5.241 192.36.148.17 192.9.9.3 128.9.0.107 66.33.206.206. 66.33.216.216 205.171.2.65 165.87.201.244 168.95.1.1 202.175.3.3 208.151.69.65 202.181.224.2 资料来源 tenacy 泰国: 209.166.160.132 202.44.8.2 印度: 202.138.103.100
国内各省市 DNS 服务器地址 北京: 202.96.199.133 202.106.0.20 202.97.16.195 深圳: 202.96.134.133 广州: 61.144.56.100 广东: 202.96.128.86 上海: 202.96.199.132 202.96.209.5 天津: 202.99.96.68 广西: 202.96.128.68 202.103.225.68 河南: 202.102.227.68 202.102.224.68 河北: 202.99.160.68 福建: 202.101.98.54 202.101.98.55 202.102.245.12 202.103.224.68 202.99.104.68 202.96.199.133 202.96.209.133 202.96.128.143 61.144.56.101 202.96.154.15 202.96.0.133 202.106.148.1 202.138.96.2 202.138.96.2 202.44.8.34 资料来源 tenacy 厦门: 202.101.103.55 湖南: 202.103.0.68 202.103.96.112 湖北: 202.103.0.68 202.103.24.68 江苏: 202.102.15.162 202.102.13.141 浙江: 202.96.102.3 202.96.104.18 陕西: 202.100.13.11 202.100.4.15 山东: 202.102.154.3 202.102.128.68 山西: 202.99.192.68 四川: 202.98.96.68 重庆: 61.128.128.68 成都: 202.98.96.68 辽宁: 202.98.0.68 202.96.75.64 202.96.86.18 202.96.75.68 202.96.69.38 202.96.86.24 202.98.96.69 61.139.2.69 202.99.198.6 202.102.152.3 202.102.134.68 202.100.4.16 202.100.0.68 202.96.96.68 202.102.29.3 202.102.24.35 202.103.0.117 202.103.96.68 202.101.103.54 资料来源 tenacy 安徽: 202.102.192.68 10.89.64.5 吉林: 202.98.5.68 202.98.14.19 江西: 202.101.224.68 202.101.240.36 新疆: 61.128.97.74 贵州: 202.98.192.68 云南: 202.98.96.68 黑龙江: 202.97.229.133 219.150.32.132 海南: 202.100.192.68 宁夏: 202.100.0.68 甘肃: 202.100.72.13 内蒙古: 202.99.224.68 青海: 202.100.128.68 202.100.96.68 202.100.199.8 202.97.224.68 202.98.160.68 10.157.2.15 61.128.97.73 202.109.129.2 202.98.14.18 202.102.199.68 最后:如果想获知 tenacy 最新地址,请访问
http://www.trycl.info/。