CDN
概念
CDN(Content Delivery Network)全称是内容分发网络
- 内容:指的是图片、视频、文档、JS、HTML等静态资源
- 分发:将这些静态资源分发到位于多个不同的地理位置机房中的服务器上,实现就近访问
总之就是,CDN 就是将静态资源分发到多个不同的地方以实现就近访问,进而加快静态资源的访问速度,减轻服务器以及带宽的负担。
CDN的作用是为了实现资源的就近访问,那为什么不直接在多地部署服务呢?服务冗余部署是为了服务的高可用,如果为了就近访问的话成本太高
| CDN工作原理 |
|---|
![]() |
工作原理
- 浏览器向 DNS 服务器发送域名请求;
- DNS 服务器向GSLB 发送请求;
- GSLB 返回性能最好(通常距离请求地址最近)的 CDN 节点(边缘服务器,真正缓存内容的地方)的地址给浏览器;浏览器直接访问指定的 CDN 节点
| CDN工作流程 |
|---|
![]() |
如何选择离用户请求最近的CDN服务器
- 智能DNS解析:当用户访问域名时,DNS服务器会分析用户的IP地址, 通过IP地址数据库映射用户的地理位置,根据地理位置信息,智能DNS返回距离用户最近的CDN节点IP地址
- AnyCast技术:多个CDN节点共享同一个IP地址,通过BGP协议将IP地址广播到全球多个节点,网络路由协议自动将用户请求路由到最近的节点
AnyCast技术
AnyCast(任意播)是一种网络寻址和路由技术,它允许将同一个IP地址分配给多个地理位置不同的服务器或路由器,并通过BGP(边界网关协议)等路由协议向互联网宣告这些相同的IP地址。当用户发起请求时,网络会根据路由协议自动将请求路由到距离最近的可用服务器,从而实现负载均衡和就近服务。
路由协议
路由协议是网络中用于路由器之间交换路由信息、动态计算最佳路径并维护路由表的一组规则。按照算法原理分类可以大致分为:距离矢量协议、链路状态协议和路径矢量协议。
| 路由算法 | 距离矢量协议 | 链路状态协议 | 路径矢量协议 |
|---|---|---|---|
| 工作原理 | 每个路由器定期向直连路由器发送自己的路由信息,邻居收到后更新自己的本地路由 | 每个路由器维护全网拓扑图 | 用于自治系统之间的路由协议,交换的不是“距离”或“链路状态”,而是 “到达某网络所经过的 AS 路径”,路由器根据策略和属性决定是否接受 |
| 优势 | 对设备要求较低,实现比较简单 | 收敛快,无环路,路由拓扑一致 | 策略控制灵活,可扩展性强 |
| 劣势 | 收敛慢,存在环形路由风险 | 对设备要求高,配置很复杂 | 对策略的依赖性强,收敛缓慢 |
| 代表协议 | RIP、EIGRP | IS-IS、OSPF | BGP |



浙公网安备 33010602011771号