DNS之视图和CDN网络

在中国一般有电信(telecom)和联通(Unicom)两大运营商,但是电信和联通的网络都是各自独立的,而两大网络相连处的带宽相对很小;所以如果你是电信的网络去联通的服务器上下载数据一般来说要比去电信的服务器下载要慢。

在我们去某些网站下载数据时,经常会看到网站建议你使用电信高速下载或者联通高速下载,甚至有华南电信,华北网通等的区分;而这些都是为了加速你的下载速度,即让你访问距离你最近且和你属于一个运营商的服务器

比如像淘宝这样的大型站点。它一般讲中国划成了许多区域,在每个区域内都有一组服务器,进行用户的访问请求响应,而用户的访问请求一般也会分到距离他最近的那个服务器上,这就需要用到CDN网络

并且有时候也会为每个服务器提供双网卡,一个是电信的IP,一个是联通的IP,如果是电信的用户请求就用电信的网络进行数据传送,反之则用联通的;而通过对用户IP的判断知道他是属于哪个运营商的就需要用到智能DNS解析

一般来说用户访问的距离他最近的网站服务器很可能只是一个缓存服务器而不是原始服务器,而要对网站的内容进行修改则运行商只需要将原始服务器的数据修改,而用户访问缓存服务器时,第一次请求可能响应会相对较慢,因为缓存服务器要去它的上游服务器(很可能还是个缓存服务器)上去找,甚至要去原始服务器上去找,然后缓存再本地在进行用户的响应,而第二次请求相同的内容则会大大提高响应速度

CDN(content delivery network)内容分发网络:即原始服务器会将用户的访问数据发送到距离他最近的服务器上缓存下来,并且通过判断用户的IP进行智能DNS解析,让用户直接访问距离他最近的缓存服务器,从而大大提高了用户的访问速度;而web服务器一般缓存的数据大多数为静态内容,也可以用策略将大多数的动态资源静态化也放到缓存服务器上,而只保留少量不能静态化的动态资源到原始服务器上,这样不仅提高了用户的访问速度也大大降低了原始服务器的访问压力

CDN的前提:

  1. 要能够判断客户端的来源,属于哪个地区哪个运营商
  2. 根据客户端的来源让客户端访问距离他最近的那台服务器

而以上的两个前提必须用智能DNS实现

构建一个DNS服务器 172.16.0.0/16 和127.0.0.0/8的客户端属于电信网络

192.168.0.0/24的客户端属于联通网络

配置智能DNS解析,让不同网段的客户端解析到不同的结果必须用到DNS的视图(view)功能

注:一旦定义了view,则所有的区域都必须定义在视图中,根区域只需定义在需要进行递归的视图中

本机IP为172.16.100.1

#vim /etc/named.conf

acl  innet  {               #acl访问控制列表,相当于变量多次引用,要放在子上边

172.16.0.0/16;

127.0.0.0/8;

};

options {

directory "/var/named";

allow-recursion { innet;};   只允许172.16.0.0/16 和127.0.0.1/8的客户端进行递归

};

view  telecom  {

match-clients {innet;}; telecom的只匹配172.16.0.0/16 和127.0.0.1/8的客户端

zone "fade.com"  IN {

type master;

file  "telecom.fade.com.zone";

};

zone "a.net"  IN {

type  master;

file  "a.net.zone";

};

};

view  unicom  {

match-clients { any;}; 电信不匹配的全部匹配到联通

zone  "fade.com"  IN {

type master;

file  "unicom.fade.com.zone";

};

zone "a.net"  IN {

type  master;

file  "a.net.zone";

};

};

注:a.net域在电信和联通两个中都有定义,这样就可以做到不对a.net域的解析进行客户端来源划分

且一个DNS中可以定义多个域,本实验为fade.com和a.net两个域

然后建立DNS资源记录文件

# vim /var/named/telecom.fade.com.zone

$TTL 600

@     IN   SOA    ns1.fade.com.  admin.fade.com(

2017022201

1H

10M

1D

2D)

IN   NS     ns1

IN   MX  10  mail

ns1    IN  A      172.16.100.1

mail   IN   A      172.16.100.2

www    IN  A      172.16.100.3

#chgrp  named  /var/named/telecom.fade.com.zone

#chmod  640   /var/named/telecom.fade.com.zone

# vim /var/named/unicom.fade.com.zone

$TTL 600

@     IN   SOA    ns1.fade.com.  admin.fade.com(

2017022201

1H

10M

1D

2D)

IN   NS     ns1

IN   MX  10  mail

ns1    IN  A      172.16.100.1

mail   IN   A      172.16.100.11

www    IN  A      172.16.100.12

#chgrp  named  /var/named/unicom.fade.com.zone

#chmod  640   /var/named/unicom.fade.com.zone

#vim /var/named/a.net.zone

$TTL 600

@     IN   SOA    ns1.a.net  admin.a.net(

2017022201

1H

10M

1D

2D)

IN   NS     ns1

IN   MX  10  mail

ns1    IN  A      172.16.100.1

mail   IN   A      172.16.100.20

www    IN  A      172.16.100.21

#chgrp  named  /var/named/a.net.zone

#chmod  640   /var/named/a.net.zone

#service named restart

然后就可以用不同网段的客户端进行测试

192.168.0.2#dig -t A www.fade.com @172.16.100.1

结果应该是172.16.100.12

172.16.100.2#dig -t A www.fade.com @172.16.100.1

结果应该是172.16.100.3

192.168.0.2#dig -t A www.a.net   @172.16.100.1

结果应该是172.16.100.21

172.168.0.2#dig -t A www.a.net   @172.16.100.1

结果应该是172.16.100.21

而当一个DNS服务器要解析很多个域时,这种将DNS数据保存在数据库中的方法会非常的麻烦(修改记录必须打开文件加锁修改等)

所以可以将DNS的数据记录保存在数据库中如MySQL,一旦有DNS请求可以临时性的查询数据库,也可以做到实时修改实时生效;而dlz机制就可以实现将DNS数据导入MySQL数据库在,除此外还可以用bind-sdb实现等等

国内比较知名的DNS运营商有

dnsport

www.dns.la

时间: 2024-08-25 13:30:22

DNS之视图和CDN网络的相关文章

DNS的视图功能以及日志系统

实验环境:RHEL5.8 32Bit DNS的视图功能以及日志系统详解 DNS的主配置文件中的allow-recursion参数用来定义能够和DNS服务器进行递归的客户端来源,allow-query参数用来定义允许到DNS服务器上面发起查询请求的客户端,allow-transfer参数用来定义允许和DNS服务器进行区域传送的客户端,区域传送主要有两种方式,axfr和ixfr,使用dig命令也可以模拟实现区域传送: 如果我们的DNS服务器允许进行递归.发起查询请求以及进行区域传送的客户端比较多的话

一张图说明CDN网络的原理

1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求: 2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统: 3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户: 4.用户向该IP节点(CDN服务器)发出请求: 5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容: 6.请求结果发给用户. CDN网络是在用户和服务

一、CDN网络介绍

一.概念 CDN的全称是Content DeliveryNetwork,即内容分发网络.主要包括:内容分发到CDN节点:就近为客户提供服务. 二.CDN原理 1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求: 2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统: 3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户: 4.用户

CDN网络原理

1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求: 2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.com,请求指向了CDN网络中的智能DNS负载均衡系统: 3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户: 4.用户向该IP节点(CDN服务器)发出请求: 5.由于是第一次访问,CDN服务器会向原web站点请求,并缓存内容: 6.请求结果发给用户. CDN网络是在用户和服务

cdn网络加速

CDN全称Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接.负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上.其目的是使用户可就近取得所需内容,解决 Internet 网络拥挤的状况,提高用户访问网站的响应速度. 在不同

万人直播网络架构与CDN网络

目前市场上的产品主要分为两种:一种是像花椒.映客.斗鱼.YY等的泛娱乐化直播,一种是思科.声网之类的实时互动直播.一般情况下实时互动直播会与PSTN网络相连,所以实时互动直播必须达到电话级别的传输要求,一般不超过400ms. 泛娱乐化直播架构 在泛娱乐化直播架构中有信令服务器集群来负责创建房间.聊天.赠送礼物-,当直播端需要直播时直接向信令服务器发送请求,信令服务器向请求端返回推流的地址,然后直播端开始像CDN网络推送数据流(流媒体CDN与传统CDN有些不同),然后当观众需要观看直播时,使用同样

linux下DNS服务器视图view及日志系统详解

DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用 ACL格式: acl ACL名称 { IP地址1或子网段1; IP地址2或子网段2; }; 例如:将内网172.17.0.0/16及192.168.1.0/24,127.0.0.0/8写成ACL acl intra { 172.17.0.0/16; 192.168.1/0/24; 127.0.0.0/8; }; 引用ACL: allow-recursion { intra; }; 2.视图vie

苹果使用蓝汛CDN网络分发ios8

2014年9月18日凌晨,苹果公司公布了全新的ios8系统正式版.不出所料的引发了空前高涨的"果粉"下载热潮.引爆整个苹果界. ios8被业内称为"自App Store启动以来公布的最重大更新",推出数百项功能改进,并支持iPhone4s.iPhone5.iPhone5c.iPhone5s.iPhone6.iPhone6 Plus,以及iPad2.iPad3.iPad4.iPad Air.iPad mini.iPad mini2等多数机型.当然.这也意味着将有绝大部

DNS(BIND) 视图的简单应用

实验os DNS 服务器 centos 6.6  10.211.55.6 测试机          centos 6.6  10.211.55.18 测试机          centos 6.6   10.211.55.19 不同ip访问实现dns解析不同结果,知识包含bind acl和view的应用. 配置文件 /etc/named.conf acl列表先规定才能引用,一般定义在配置文件开头 acl  访问控制列表  定义来至不同测试机的ip view 定义视图   视图必须包含zone的信