探索CDN之二:Squid与简单CDN实验
本系列文章将从初学者视角,一步一步循序渐进地探索CDN的相关知识。本文为系列第二篇,进一步介绍CDN的知识、Squid缓存服务器和简单的CDN实验。主要内容如下:
进一步聊聊CDN?
在上一篇文章里,曾讲到CDN是“内容分发网络”,依赖于一组代理服务器来提供高可用、高性能的服务。而建立在TCP/IP基础上的互联网,它的设计理念之一是“网络的中立和无控制”,以便于更好、更快地将数据包进行传输。互联网不会对传输内容进行任何优化。
网络层和应用层之间的“磨合”存在一些可能造成“拥堵”的地方:
“第一公里”。它指的是某网站服务器接入互联网后的带宽,直接影响了用户的访问速度和并发访问量。当用户请求量大于带宽时,就会造成拥堵。
“最后一公里”。它指的是用户接入互联网的带宽。类似于“第一公里”,假设服务器返回的数据量大于带宽,用户同样会感觉网络拥堵。目前由于光纤等技术的普及,这一问题已得到很大程度上的解决了。
对等互联关口。它指的是不同运营商(ISP)间的互联互通点。一般两个运营商间仅有2~3个互联互通点,可想而知这些点上负载了巨大的流量,容易造成拥堵。
长途骨干传输。用户发送请求到远方的网站服务器,会经过用户所在接入网、用户所在城域网、骨干网直到网站所在IDC等。存在长距离传输时延和骨干网拥塞问题。
CDN的出现对于缓解上