Bootstrap

CDN原理与识别

1、问题

遇到了一个问题,就是同一个域名,在两个网站上查到它的 IP 是不一样的???

这是为什么呢?这是因为 CDN:

CDN 即 content delivery network(内容分发网络),通过在网络各处放置节点服务器所构成的 在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。

因此开了CDN 之后,会智能匹配当地最近的节点,所以请求的实际 IP 不同。

2、CDN 的原理

CDN网络是在用户和服务器之间增加Cache层,主要是通过接管DNS实现,将用户的请求引导到Cache上获得源服务器的数据,从而降低网络的访问时间。 首先,让我们看一下传统的未加缓存服务的访问过程:

img

如图可以看出,传统的网络访问的流程如下:

  1. 用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址;

  2. LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期);

  3. ROOT DNS将域名授权dns记录回应给 LocalDns; LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址;

  4. 域名授权dns 查询域名记录后,回应给 LocalDns;

  5. LocalDns 将得到的域名ip地址,回应给用户端;

  6. 用户得到域名ip地址后,访问站点服务器;

  7. 站点服务器应答请求,将内容返回给客户端.

与传统访问方式不同,CDN网络则是在用户和服务器之间增加Cache层,将用户的访问请求引导到Cache节点而不是服务器源站点,要实现这一目的,主要是通过接管DNS实现,下图为使用CDN缓存后的网站访问过程:

img

1、用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址; 2、LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期); 3、ROOT DNS将域名授权dns记录回应给 LocalDns; 4、LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址; 5、域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns; 6、

;