DNS和CDN-计网(8)
Date:
域名系统,
Domain Name System
,DNS 内容分发网络,Content Delivery Network
,CDN DNS和CDN是互联网基础设施的重要组成部分 —-
目录
DNS
Intro
DNS, Domain Name System
,域名系统,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
域名的类型:
- 顶级域名:如
com
、cn
、org
等 - 二级域名:如
baidu.com
、google.com
等 - 三级域名、四级域名:可自定义,如
www.baidu.com
、www.google.com
等
域名解析
当客户端在浏览器输入
www.baidu.com
时,浏览器会先检查本地缓存,如果缓存中没有,则向DNS服务器发送请求,DNS服务器会返回域名对应的IP地址, 再由浏览器发起HTTP请求。
DNS服务器分类:
- 根域名服务器
- 顶级域名服务器
- 权威域名服务器
- (本地域名服务器)
域名解析流程:
- 客户端发起请求
www.baidu.com
- 查找本地hosts文件是否存在解析记录
- 查找本地DNS服务器是否存在解析记录 (校园网不让你访问某些网站可能就是在这一步拦截的)
- 本地DNS服务器向根域名服务器查找
.com
,得到顶级域名服务器地址 - 本地DNS服务器向顶级域名服务器查找
baidu.com
,得到权威域名服务器地址 - 本地DNS服务器向权威域名服务器查找
www.baidu.com
,得到IP地址182.61.244.181
- 本地DNS服务器将IP地址
182.61.244.181
返回给客户端,缓存并发出HTTP请求
其中,一般本机和域名服务器都有高速缓存,目的是减少查询次数。
CDN
Intro
互联网是全球且复杂的,网站(服务器)与其用户(客户端)之间的通信流量必须跨越很长的物理距离,且通信也是双向的,从客户端向服务器发送请求,服务器返回响应。
为了不让网络堵塞成为互联网发展的障碍,CDN应运而生。
CDN,Content Delivery Network
,内容分发网络
核心思想是就近访问,通过在全球各地建立缓存服务器,让用户访问最近的服务器,从而减少网络延迟,提高访问速度。
核心概念
- 缓存:CDN节点缓存源站内容,用户访问时,就近返回缓存内容,减少源站压力。
- 回源:当CDN节点缓存失效或没有缓存时,CDN节点会回源站获取最新内容,并缓存到CDN节点。
- 边缘节点:CDN节点,离用户最近,负责就近访问。
- 中间节点:CDN节点,负责回源。
- 源服务器:原始内容存储的服务器。
工作原理
CDN的工作流程:
- 用户发起请求:用户在浏览器中输入网址
- DNS解析:DNS服务器返回离用户最近的CDN节点(边缘节点)IP地址
- 就近访问:用户直接访问最近的CDN节点
- 内容获取:如果CDN节点有缓存,直接返回;如果没有,则从上一级CDN节点,没找到会回源站获取并缓存(回源)
- 缓存更新:CDN节点缓存内容,并设置缓存时间,缓存时间到期后,CDN节点会回源站获取最新内容,并缓存到CDN节点。
CDN的优势
🚀 提升访问速度
- 就近访问:用户访问最近的服务器节点
- 减少延迟:避免跨地域、跨运营商的网络传输
💰 降低带宽成本
- 减少源服务器压力:大部分请求由CDN节点处理
- 节省带宽费用:减少源服务器的带宽消耗
- 提高并发能力:CDN节点分散了访问压力
🛡️ 提高可用性
- 负载均衡:多个节点分担访问压力
- 故障转移:某个节点故障时自动切换到其他节点
- DDoS防护:CDN提供商通常具备DDoS防护能力