今天正好看了一篇推文,看到了CDN这几个词,其实对于CDN我很久以前就去了解过,但是不知道为什么现在再看到这个词的时候却不知是啥东西了。
所以我就很火急火燎的去B站搜索了CDN,这不,一搜索就挺多解释CDN的。
其实CDN就是一个内容分发网络(中文名),其实用了CDN的最大的好处就能让你网站访问更快一些。学过计网的同学都知道,我们去访问一个网站,首先是通过DNS服务器将域名解析成IP地址,然后再访问这个ip地址下的某些目录的资源。而ip地址是唯一的,特别是目前ipv4的稀缺,使得ip地址变得更加昂贵。而我们一般都是只有一台服务器的,这台服务器所在的位置也是固定的,比如国内广州、深圳这些地方,境外的比较多香港、美国那些。所以如果我们离一台服务器的位置相当的远,那么我们对这台服务器发送的请求就要经过很多的节点,而经过的节点越多就说明RTT(往返时间)越长,而且经过的节点越多,网络阻塞、丢包也更加有可能。假设这台服务器在深圳,而我在北京打开浏览器访问这个网站,会发现打开网页的速度会比较慢一些;而假如我在江西,还是一样访问这个网站,会发现比在北京访问这个网站更快一些;而假如我在广州呢,那就更快了(这里假设网络条件都是一致的),所以距离服务器的远近与打开一个网页的快慢是有关系的。那怎么解决这个问题呢,此时CDN就产生了,CDN厂商就是在全国各地乃至全世界都有服务器,通过CDN,它可以把你的请求发往最近的那个服务器,这样你访问源服务器的速度就会很快,CDN具有负载均衡的措施,如果CDN的一台服务求请求过大,那么就会把请求发往距离你第二近的服务器,保证你的RTT是最短的。当然CDN也是可以防止一些CC、DDOS攻击,并且对图片下载、文件下载具有加速的效果。
但是呢,CDN一般都是比较贵的,像国内就阿里云、腾讯云,不过一般都是送几十G免费试用流量包(一个月的),我看了下,腾讯云的CDN一年100G就20块,100G的话其实对于日ip是过百的网站而言还是勉强可以的,如果是遭遇DDOS攻击的话就亏死了,一下子就没了100G流量。我刚刚就给aiyunkj.com这个域名开通的了腾讯云的CDN,开通免费送10G,可惜的一个月的,然后绑定10G,解析100G,可惜一个月后就没了,那就一个月后在看看吧。
以上呢就是我看了B站视频后的自我理解的一些话了,下面就放一些某乎的讲解,比较具体。
假设通过CDN加速的域名为www.a.com,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:
- 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
- LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
- 当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
- 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
- LDNS获取DNS返回的解析IP地址。
- 用户获取解析IP地址。
- 用户向获取的IP地址发起对该资源的访问请求。
图片链接:https://pic1.zhimg.com/v2-5ba76e77f05b030b5879177bd336928f_r.jpg?source=1940ef5c
最后呢,就放两个怎么在腾讯云上使用CDN,新用户可以体验一下,自己有网站的话可以接入CDN加速的,其实一年100G ¥20也不贵,能让你的网站加加速还是不错的~
腾讯云使用CDN教程1:https://cloud.tencent.com/developer/article/1462593
Comments 1 条评论
博主 一个游客
写得真好!