DNS(Domain Name System)域名系统
1)什么是域名?(代替ip地址方便记忆)
一个标准的域名为:www.baidu.com.root 只不过因为后面的root都长一样所以没什么写的必要。
域名可分为以下几个部分:
2)当输入一个www.baidu.com会发生什么?(找ip地址)
首先会去dns缓存中查询是否有该域名下的ip,如果没有会去本地hosts文件中查询是否有ip地址,如果还是没有找到则会通过你的路由器向DNS负责查询的服务器(一般是电信、移动等供应商确定的离你比较近的服务器)提交申请查询。
接下来这台负责查询的dns服务器就会根据自己内有的root域名服务器ip地址,向root服务器发送请求。根服务器查询顶级服务器所在的ip地址(本例子中为.com),将ip地址返回给负责查询的服务器。
接着该服务器向这些(顶级DNS服务器)发送二级域名解析请求(.baidu),顶级域名服务器返回baidu这个二级域名的服务器ip地址。
接着向baidu这个二级域名服务器地址发送三级域名请求(www),返回最后网站的ip地址。
当最后拿到www.baidu.com的ip地址后存入负责查询的DNS服务器缓存中,同时也将会把这个ip返回给你的浏览器。
分层查询 缓存处理 ===》我们的域名解析系统
CDN(Content Delivery Network)
1)原理是什么?
购买云服务器都会选择地点(服务器的存放地点),但是如果上海的用户访问青海的服务器就会导致RTT很慢,并且如果带宽还很小的情况下,容易造成服务器宕机。(距离远,一台服务器失误率高)。所以,我们会想到用多台服务器存储这个东西,并且这些服务器遍布在世界各地就可以解决,这就是CDN产生的原因。
2)具体讲解
如果你的云服务器开通了CDN服务,那CDN首先就会知道你的源服务器所在的ip地址。当有人通过你这个域名访问你的服务器ip时候,域名在被解析之后,指向一个CDN 网络专用的处理DNS请求的服务器。这个专门的CDN网络的DNS服务器会给你的浏览器返回一台专门的用来给各个请求设备分配合适的DNS 服务器的这样一种服务器的IP地址。这种服务器叫做负载均衡服务器。然后你的设备或者是浏览器就会去访问这台负载均衡系统服务器。
负载均衡系统服务器会根据你的浏览器的网络地址会在CDN网络中找一台在各种条件下都比较适合给你的设备提供服务的服务器。比如说可能是离你比较近的,然后被分配到网络服务又不多的服务器某台服务器。接着负载均衡系统服务器会把这台cdn服务器的IP地址。返回给你的浏览器,那么浏览器在收到这台服务器的IP地址之后,就回去访问cdn网络中的cdn服务器了。去向他请求网站的文件资源。
如果这个cdn服务器中没有命中目标资源,那么就会向上一个cdn服务器拉取,如果一直还是没有,便会去该网站的源服务器获取。在获取之后刚才所向上获取的一系列服务器均会缓存该资源,这样下次周边的其他用户访问这个网站就可以利用身边的dns服务器直接从缓存中获取了。
缓存系统+负载均衡+向上拉取=====》DNS内容分发系统