CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN的基本原理是在用户访问相对集中的地区和网络设置一些缓存服务器。当用户访问网站时,利用全局的负载均衡技术将用户的访问指向距离最近的缓存服务器,由缓存服务器代替源站响应用户的访问请求。这样一方面减轻了源站服务器的工作压力,另一方面使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
1.2CDN的解析流程:
1.2.1用户向浏览器提供要访问网站的域名,域名解析的请求被发往本地用户使用的DNS服务器,本地DNS服务器将解析请求转发至网站的DNS服务器(NS);
1.2.2由于网站的DNS服务器(NS)对此域名的解析设置了CNAME,请求最终被指向到CDN网络中的GLB系统;
1.2.3GLB系统对域名进行智能解析,将响应速度最快的节点IP返回给用户;
1.2.4浏览器在得到实际的IP地址以后,向CDN节点发出访问请求;
1.2.5由于是第一次访问,CDN节点将回到源站获得用户请求的数据并发给用户,同时CDN节点根据缓存策略对该数据进行缓存;
1.2.6当有其他用户再次访问同样内容时,CDN节点直接将数据返回给客户,完成请求/服务过程。
1.3CDN解析用到的相关技术
(1)负载均衡技术
负载均衡技术就是将网络中的流量尽可能平均分配到多个能完成相同任务的服务器或网络节点,由此来避免单个或部分网络节点过载瘫痪,影响正常的网络访问。
(2)动态内容分发与复制技术
在多数情况下,网站响应速度和访问者与网站服务器之间的距离有着密切的关系。如果访问者和网站之间的距离比较远,之间的通信要经过多次路由转发和处理,网络延迟会大大增加。而内容分发和复制技术就是将网站主体中的大部分静态页面、图像和流媒体数据等分发复制到各地的加速节点上。所以,动态内容分发与复制技术也是CDN所需的一个重要技术。
(3)缓存技术
通过Web缓存技术,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索 网页。对于Internet用户来说,这意味着将内容存储在他们的ISP缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术。
1.4运用CDN解析的优势
(1)自动缓存加速,提高了企业站点(尤其是含有大量图片和静态页面的站点)之间的访问速度;
(2) 跨运营商的网络加速,保证不同网络带宽和频率的用户都得到良好的访问质量;
(3)远程访问用户根据DNS负载均衡技术智能自动选择最近的缓存服务器,提高网站用户的访问效率;
(4)自动生成服务器的远程镜像服务器,远程用户访问时从缓存服务器上读取数据,减少远程访问的带宽,分担网络流量,减轻原站点web服务器负载等功能;
(5)广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵。
2.什么是DNS服务器
2.1含义:在现实世界中,当人们进行阅览新闻、在线购物、下载文件或观看直播时,都需要通过访问域名来访问目标网站,例如 baidu.com、google.com、jd.com 等。您只需记住这些网站的名称,而非它们的 IP 地址,因为与网站名称相比,IP 地址是很难记住的。因此,您需要一个作为 DNS 服务器的网站/域名地址本。DNS 在日常生活中非常重要。每个在线的人都需要访问它,但同时,这对它来说也是一个非常大的挑战。如果 DNS 服务器出现故障,整个 Internet 网络都将关闭。
另外,上网的人分布在世界各地,如果每个人都去同一个地方访问某个服务器,延迟会非常大。因此,DNS 服务器必须设置为高可用、高并发和分布式的。
因此,它应具有如下树状层次结构:
根 DNS 服务器:返回顶级域 DNS 服务器的 IP 地址。
顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址。
权威 DNS 服务器:返回对应主机的 IP 地址。
2.2为了提高 DNS 解析性能,许多网络会根据位置部署 DNS 缓存服务器。DNS 解析过程如下:(这里以访问 baidu.com 为例)
第一步,客户端会发出 DNS 请求,询问 baidu.com 的 IP 是什么,它会先在浏览器缓存中查找 baidu.com 的 IP 地址。
第二步,然后请求将被发送到本地 DNS 服务器。本地 DNS 服务器由您的网络服务供应商 (ISP, Internet Service Provider) 自动分配,这通常是您的 ISP 提供的路由器。
第三步,本地 DNS 服务器收到来自客户端的 DNS 请求,它会在其缓存中查找 baidu.com的 IP 地址。如果它可以找到对应的条目,它将直接将 IP 地址返回给客户端。否则,本地 DNS 服务器会询问它的根域名服务器:“你能告诉我 baidu.com 的 IP 地址吗”?根域名服务器作为最高级别的 DNS 服务器,全球共 13 台。它不会直接解析域名,但会起到一个“灯塔”的作用。
第四步,根 DNS 服务器收到本地 DNS 的请求,发现要查找域名的后缀是 .com,然后告诉本地 DNS 服务器:“好的,你要找的既然是 .com 后缀的域名,它是由 .com 管理的。这里是 .com 区域的顶级域 DNS 服务器的 IP 地址,你去找它问吧”。
第五步,本地 DNS 服务器转向 .com 区域的顶级域名服务器,并请求 baidu.com 的 IP 地址。顶级 .com 区域 DNS 服务器再次为该请求指明了方向。它提供了负责 baidu.com的权威 DNS 服务器的 IP 地址。
第六步,本地 DNS 服务器然后转向了权威 DNS 服务器并询问 baidu.com的 IP 地址。这次, baidu.com的权威 DNS 服务器是域名解析结果的原始来源。它会将 baidu.com 的 IP 地址直接返回到本地 DNS 服务器。
第七步,本地 DNS 服务器将收到的 IP 结果马上返回给客户端进行告知并将其缓存。至此,DNS 解析完成。
2.3 DNS查询方式:递归查询和迭代查询
递归查询:当客户机向DNS服务器发起域名解析请求时,DNS服务器首先查看自己本机的DNS记录,如果没有则会想其它DNS服务器发起解析请求。
迭代查询:当客户机向DNS服务器发起域名解析请求是,DNS服务器不会给客户机解析地址,而是告诉客户机另外一台DNS服务器,客户即再向这台服务器发起地址解析请求。
2.4 正向解析和反向解析
正向解析:指域名解析到IP地址的解析过程。
反向解析:指IP地址解析到域名的解析过程。
2.5 DNS资源记录
1)SOA资源记录
每个区在区的开始都包含了一个起始授权记录(Start of Authority Record),简称SOA记录
SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。
2)NS资源记录
NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析,每个区在区根处至少包含一个NS记录。
3)A资源记录
地址(A)资源记录把FQDN映射到IP地址。因为有次记录,所以DNS服务器能解析FQDN域名对应的IP地址。
4)PTR资源记录
相对于A记录,指针(PTR)记录把IP地址映射到FQDN。用于反向查询,通过IP地址,找到域名。
5)CNAME资源记录
别名记录(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使链接的客户机无法知道真正的域名。
6)MX资源记录
邮件交换(MX)资源记录,为DNS域名指定邮件交换服务器。
3.搭建智能DNS的方法
3.1实验环境准备
DNS主服务器和web服务器1:192.168.72.140/24,172.16.0.8/16
web服务器2:192.168.72.141/24
web服务器3:172.16.0.7/16
DNS客户端1:192.168.72.142/24
DNS客户端2:172.16.0.6/16
3.2DNS服务器网卡配置
#配置两个IP地址
#eth0:192.168.72.140/24
#eth1: 172.16.0.8/16
[root@DNS ~]#ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:37:24:1f brd ff:ff:ff:ff:ff:ff
inet 192.168.72.140/24 brd 192.168.72.255 scope global dynamic noprefixroute eth0
valid_lft 1310sec preferred_lft 1310sec
inet6 fe80::20c:29ff:fe37:241f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:37:24:1f brd ff:ff:ff:ff:ff:ff
inet 172.16.0.8/16 brd 172.16.255.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe37:241f/64 scope link
valid_lft forever preferred_lft forever
3.3DNS服务端配置文件实现 view
[root@DNS ~]#yum install bind -y
[root@DNS ~]#vim /etc/named.conf
#在文件最前面加下面行
acl guangdongnet {
192.168.72.0/24;
};
acl shanghainet {
172.16.0.0/16;
};
acl othernet {
any;
};
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#创建view
view beijingview {
match-clients { guangdongnet;};
include "/etc/named.rfc1912.zones.bj";
};
view shanghaiview {
match-clients { shanghainet;};
include "/etc/named.rfc1912.zones.sh";
};
view otherview {
match-clients { othernet;};
include "/etc/named.rfc1912.zones.other";
};
include "/etc/named.root.key";
3.4实现区域配置文件
[root@DNS ~]#vim /etc/named.rfc1912.zones.gd
zone "." IN {
type hint;
file "named.ca";
};
zone "mage.org" {
type master;
file "mage.org.zone.gd";
};
[root@DNS ~]#vim /etc/named.rfc1912.zones.sh
zone "." IN {
type hint;
file "named.ca";
};
zone "mage.org" {
type master;
file "mage.org.zone.shanghai";
};
[root@DNS ~]#vim /etc/named.rfc1912.zones.other
zone "." IN {
type hint;
file "named.ca";
};
zone "mage.org" {
type master;
file "mage.org.zone.other";
};
chgrp named /etc/named.rfc1912.zones.gd
chgrp named /etc/named.rfc1912.zones.shang
chgrp named /etc/named.rfc1912.zones.other
3.5创建区域数据库文件
[root@DNS ~]#vim /var/named/mage.org.zone.gd
$TTL 1D
@ IN SOA master admin.mage.org. (
2022093014; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.72.140
websrv A 192.168.72.141
www CNAME websrv
[root@DNS ~]#vim /var/named/mage.org.zone.shang
$TTL 1D
@ IN SOA master admin.mage.org. (
2022093014 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.72.140
websrv A 172.16.0.147
www CNAME websrv
[root@DNS named]#vim /var/named/mage.org.zone.other
$TTL 1D
@ IN SOA master admin.magedu.org. (
2022093014 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.72.140
websrv A 127.0.0.1
www CNAME websrv
chgrp named /var/named/jiangfeng.org.zone.gd
chgrp named /var/named/jiangfeng.org.zone.shang
chgrp named /var/named/jiangfeng.org.zone.other
[root@DNS named]#systemctl start named #第一次启动服务
[root@DNS named]# rndc reload #不是第一次启动服务
3.6实现位于不同区域的三个WEB服务器
#分别在三台主机上安装http服务
#在web服务器1:192.168,72.140/24
[root@DNS named]#echo www.mage.org in Other > /var/www/html/index.html
[root@DNS named]#systemctl start httpd
#在web服务器2:192.168,72.141/24
[root@web2 ~]#echo www.mage.org in guangdong > /var/www/html/index.html
[root@web2 ~]#systemctl start httpd
#在web服务器3:172.16.0.7/16
[root@web2 ~]#echo www.mage.org in shanghai > /var/www/html/index.html
[root@web2 ~]#systemctl start httpd
3.7客户端测试
#分别在三台主机上访问
#DNS客户端1:192.168,72.142/24 实现,确保DNS指向192.168.72.140
[root@client network-scripts]#curl www.mage.org
www.mage.org in guangdong
#DNS客户端2:172.16.0.6/16 实现,确保DNS指向172.16.0.8
[root@web3 ~]#curl www.mage.org
www.jiangfeng.org in Shanghai
#DNS客户端3:192.168,72.140 实现,确保DNS指向127.0.0.1
[root@DNS ~]#curl www.mage.org
www.mage.org in other
到此测试宣告完成。
原文链接:https://blog.csdn.net/m0_65187145/article/details/127054518?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169114663716800188525941%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169114663716800188525941&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-5-127054518-null-null.268%5Ev1%5Ekoosearch&utm_term=dns%E5%8A%A0%E9%80%9F
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/22265