最近正在整理自己的知识体系,刚好回顾了一下协议相关的一些知识.想到之前记录下来的一问题:cdn是如何实现的?
要理解cdn的原理涉及的知识:dns原理.缓存.
根据传统的无cdn网络结构,用户的访问流程基本如下:
用户在自己的浏览器中输入要访问的源服务器网站的域名
浏览器向本地DNS请求对该域名的解析
本地DNS将请求发到网站授权的DNS服务器(如图中的icp2授权dns服务器)
授权DNS服务器将源服务器的IP地址作为解析结果送给本地DNS
本地DNS将解析结果返还给用户,同时将该解析结果保存在自己的缓存中,直到相应的TTL(生存周期)过期,才再向网站的授权DNS请求解析
用户在得到IP地址后,向该地址所指向的网站的服务器进行访问;
cdn网络结构,用户的访问流程基本如下:
用户在自己的浏览器中输入要访问的源服务器网站的域名
浏览器向本地DNS请求对该域名的解析
本地DNS将请求发到网站授权的CDN类型的DNS服务器
CDN类型的DNS服务器将网站域名的cname(别名)作为解析结果送给本地DNS,此时CDN服务器也取到用户的ip并分析这个ip对应的所在地区.
本地DNS将cname返还给用户
此时浏览器需要再次对获得的CNAME域名进行解析按正常流程解析这个cname得到一个最近的缓存服务器ip
用户在得到IP地址后,向该地址所指向的网站的服务器进行访问;