第五十四天:DNS 与 CDN

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五十四天:DNS 与 CDN相关的知识,希望对你有一定的参考价值。

小Q:流云在天边,行囊在眼前,有一条通往太阳的大路无边有无沿。

下列观点有不对的地方,谨请赐教

------------------------------------DNS----------------------------------------------

FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机头(www)加上全路径(qq.com.)
DNS :(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库

全球共有13台根逻辑域名服务器。这13台逻辑根域名服务器中名字分别为“A”至“M”,真实的根服务器在2014年1月25日的数据为386台
跟域的代表就是NS后面的“.”
主机头的代表就是“www”
一级域名“.baidu.com”,也称为NS

以下是用户请求的dns原理
技术分享资源记录的基本格式:
ttl:生存时间字段,它以秒为单位定义该资源记录中的信息存放在DNS缓存中的时间长度。
IN:此字段用于将当前湖泊记录标识为一个INTERNET的DNS资源记录。
TYPE:类型字段,用于标识当前资源记录的类型。
七大资源记录:
A (host),即是A记录,也称为主机记录,是DNS名称到IP地址的映射,用于正向解析。
CNAME:CNAME记录,也是别名记录,用于定义A记录的别名。
MX (mail exchange): 邮件交换器记录,用于告知邮件服务器进程将邮件发送到指定的另一台邮件服务器。(该服务器知道如何将邮件传送到最终目的地)。
NS :NS记录,用于标识区域的DNS服务器,即是说负责此DNS区域的权威名称服务器,用哪一台DNS服务器来解析该区域。一个区域有可能有多条ns记录,例如zz.com有可能有一个主服务器和多个辅助服务器。

PTR:是IP地址到DNS名称的映射,用于反向解析。

SOA:用于一个区域的开始,SOA记录后的所有信息均是用于控制这个区域的,每个区域数据库文件都必须包谷一个SOA记录,并且必须是其中的第一个资源记录,用以标识DNS服务器管理的起始位置,SOA说明能解析这个区域的dns服务器中哪个是主服务器。
radata: 数据字段用于指定与当前资源记录有关的数据,数据字段的内容取决于类型字段。
---------------------------------------------------------------------------------------------------
         如今一般都用腾讯的DNSpod进行解析,而以前大家都在好多平台注册了域名,并解析了上千条记录(比如万维网.新网.华夏网等等),所以不能把域名逐个换到DNSpod
但是,我们只要将在其他平台注册域名的NS换为DNSpod提供的NS,就可以在DNSpod上进行统一管理了。(另外还可以将域名添加到监控)
技术分享

另外我们可以通过whois站长查询,查找域名的注册商;

------------------------------------DNS----------------------------------------------

网络节点:是指一台电脑或其他设备与一个有独立地址和具有传送或接收数据功能的网络相连。节点  

                     可以是工作站、客户或个人计算机,还可以是服务器、打印机和其他网络连接的设备。
流量和带宽:带宽统计单位是比特/秒(bps),通常运营商提供为512Kbps,1Mbps等。

                        而流量为客户上网发送和接收的数据量总和,常用统计单位为字节(Byte)。                                                     换算关系为: 1Byte=8bits(1字节为8比特)1Byte/sec=8bps   ,64KB/s=512kbps 
CDN :  Content Delivery Network,即内容分发网络。其目的是使用户可就近取得所需内容,解决 

                Internet网络拥挤的状况,提高用户访问网站的响应速度。
                源站:我们自己的网站被称为源站。有人误以为把数据放到了CDN的中心服务器,那叫源站
                反向代理:CDN节点向源站请求数据的方式就叫反向代理,也就是上文所说的转发。
                回源:CDN节点向源站请求数据的行为就叫做回源。

以我的说法来说CDN就是一群代理服务器,占满了全国各地;大致功能和我们用的squid , Proxy Server,nginx差不多,优点:多,功能强,更安全,减轻我们服务器压力。
CDN是一种组合技术,其中包括源站、缓存服务器、智能DNS、客户端等几个重要部分。智能DNS是整个CDN技术的核心
工作流程:当客户端有请求访问,智能DNS会从最近的DNS服务器调取资源供客户访问,如果没找到

                   资源DNS服务器就会去源站提取数据,下次用户在访问时速度就会大量提升;
                   当客户端有攻击倾向,智能dns会将最近的dns节点调资源和ip给客户端,这样也侧面保护了

                    源站;还有许多功能有待了解哈。
比如:我们有一个网站,他的服务器在北京;
未接入CDN之前
,第一:北京用户访问,速度还是挺快的,但是美国用户访问,速度就太慢太慢了,所以我们为了pv,就要在北京和美国的一个中间点设置一个代理节点存放缓存数据,但是此时俄罗斯用户访问还是有问题,我们就一直加节点服务器,成本可是骤增啊。。第二:某些心术不正的人会攻击我们的网站,直接就可以ping通我们的ip,太危险。。
当接入CDN后
我们撤销了所有的代理服务器,超级多的节省了成本,而且CDN节点的带宽也要远超于我们为代理服务器购买的带宽,速度更快。而且客户端又找不到源站的ip,很难展开攻击。
----------------------------------------------------------------------------------------------------------------------------------------
有名的CDN商家:蓝汛  网宿  帝联等,他们按贷款收费,有点贵;而后起之秀阿里云 又拍云 七牛云 按流量收费,比较实惠;个人倾向于又拍云(都是自建的机房,其他的好多都是共享)
一些有名的企业多都会接入CDN,查看方法如下,ping 域名之后的显示

技术分享

阿里云的的白名单:
如果我们用的阿里的云服务器,有时我们因为经常会更新网站,导致cdn节点经常去访问源站,而阿里的防护太厉害,有时会把节点ip禁掉,这点要注意
这是我们进入一下设置中的白名单,将ip加进去。或者加个0.0.0.0(即为不限制所有ip)

技术分享



以上是关于第五十四天:DNS 与 CDN的主要内容,如果未能解决你的问题,请参考以下文章

CDN与DNS知识汇总

python学习第五十四天:作用域对象与运用技巧

CDN与智能DNS原理和应用

“全栈2019”Java第五十四章:多态详解

#yyds干货盘点# 前端歌谣的刷题之路-第五十四题-字符串搜索

明年找到好工作:面试题打卡第四天