内容分发网络(Content Delivery Network,CDN)的概念最早于1995年由美国麻省理工大学提出,是一套能够实现用户就近访问的网络解决方案。具体方法是:采用智能路由和流量管理技术,将用户的访问请求指向 CDN网络中健康且响应最快的CDN节点,用户通过直接对此CDN节点的访问,获得所需要的内容和数据,就近访问加速了访问速度。
利用内容分发与复制机制,客户不需要改动原来的网站结构,只需修改少量的DNS配置,就可以加速网络的响应速度。 当用户访问使用CDN服务的网站时,解析请求将最终由CDN服务商提供的DNS域名解析服务器来处理。它通过将当时能够最快响应用户的节点地址提供给用户,使用户可以有效准确的得到快速的服务。同时,它还与分布在不同地点的所有CDN节点保持是实时通信,搜集各节点的健康状态,确保用户访问的成功率。
上面的说明有些专业,用户访问网站实际上就是用户的电脑寻找网站服务器的一个过程。先让我们看一下使用CDN服务之前,用户访问网站的流程:
2. 如果没有域名对应的IP地址,浏览器向本地DNS服务器请求对该域名的解析; 本地DNS服务器就是由当地电信或者联通给分配的DNS.
3. 本地DNS服务器到根DNS服务器上找所授权的DNS记录,记录返回到本地DNS服务器;
4. 本地DNS服务器按照记录到网站授权的域名解析服务器请求解析主机名,域名解析服务器将IP地址作为解析结果送给本地DNS服务器。
5. 本地DNS服务器将IP返还给用户;
6. 用户在得到IP地址后,向该网站服务器进行访问,网站服务器将相应的内容和数据提供给用户。
使用CDN服务之后,用户访问流程:
1. 域名的解析请求在被发往CDN解析服务器后,服务器将此域名响应速度最快的节点IP发送给本地DNS服务器,本地DNS服务器将此IP发给用户。上图的第四、五步。
2. 用户在得到IP地址后向CDN节点发出访问请求第一次的访问。
3. CDN节点将回源网站服务器取回内容数据发给用户。
4. CDN节点会缓存大量数据,若有其他用户访问相同内容时,直接将内容数据返回用户,完成从请求到服务的全过程。