计算机网络—— DNS和CDN那些事_nds cdn-程序员宅基地

技术标签: 网络  运维相关  运维  服务器  


前言

DNS:
keyword:域名解析为IP地址。

域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。
DNS是一种c/s的结构,客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。 ———百度百科

CDN:
keyword:就近, 降低拥塞。

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。———百度百科

一、DNS工作原理?

1.DNS层次结构

DNS域名服务器的层次结构分为:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。

2.一个例子

当用户在浏览器输入一个网址域名,例如www.baidu.com,此时系统到host文件中查找该域名对应的IP地址,并访问该地址。但host文件无法记录所有的域名及其对应的IP地址,这时候,DNS服务器应运而生。

3.DNS的内脏

将域名转换为对应IP地址的过程称为域名解析,而完成该工作的软件叫域名解析器软件。
每一个解析器被配置在一个本地域名服务器上。

  1. 根域名服务器 知道所有的顶级域名服务器IP地址,并为所有顶级域名服务器提供IP地址。
  2. 顶级域名服务器:顶级域和国家域都有顶级服务器。顶级服务器知道所有权限域名服务器IP地址,并为所有权限域名服务器提供IP地址。
  3. 权限域名服务器:所有拥有公开可访问主机的组织机构都必须提供公开可访问DNS记录,而权限域名服务器保存所有DNS记录。
  4. 本地域名服务器 并不属于DNS层次结构。只起到代理作用。负责将DNS请求转发至相应DNS层次结构中。

4.接下来,简单描述一下DNS服务过程:

解析器 ------(将指定域名放入DNS请求报文中)-----> 本地域名服务器 -----(在本地数据库查找)------->有:则直接交付,回复请求。无:本地服务器将请求转发至根域名服务器。----------->顶级域名服务器--------->权限域名服务器。

5.总结:

  • 反复查询解析:在服务器层次间逐步寻找管辖一个域名的服务器的过程,称为反复查询解析。
  • 主机上的解析器软件往往请求递归解析,将一个域名解析为一个对应IP地址。当一个服务器成为另一个服务器的客户时(本地数据库没有找到DNS请求报告中是域名),它可以请求反复解析,在服务器层次间每次一层地逐步查询。

6.顺带附上路由转发的过程:

()(转载自王道计算机考研)

二、从DNS引入CDN

1. 为什么有CDN?

最常规的上线网站方式就是浏览器通过网络访问域名服务器,但有两个致命问题:

  1. 距离问题
    用户离服务器越远,访问速度越慢
  2. 服务器稳定性
    中小型网站因缺少维护,容易宕机后很长时间才被发现。

2.CDN应运而生!

解析过程:
DNS解析设置的后台添加CDN的解析记录---------->CDN网络专用的解析DNS请求的服务器---------->给浏览器返回CDN负载均衡服务器---------->CDN网络中找一台个条件下都适合用户设备提供服务的CDN服务器(例如距离最近的CDN服务器)------>若没有,就继续在CDN网络往上层查找------>拉去资源回来后,在每一层没有记录的CDN服务器都做一次缓存。

3.CDN优点

优点:每次浏览器访问一个网站时,都可以在离自己最近的,有缓存的CDN服务器上获取相应数据,而不必在源站上拉取。这使得用户快速打开一个网站,此外还可以防止宕机。因CDN网络中的一个CDN服务器宕机,还有其他服务器可以正常工作。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JingYan_Chan/article/details/122462617

智能推荐

微信小程序的动态显示字体颜色_小程序 color if-程序员宅基地

文章浏览阅读1k次。<text wx:if="{{item.data.status=='待打印'}}" style="color:red">{{item.data.status}}</text><text wx:if="{{item.data.status=='已打印'}}" style="color:green">{{item.data.status}}</text>_小程序 color if

线上PHP问题排查思路与实践-程序员宅基地

文章浏览阅读210次。转载:http://www.bo56.com/%E7%BA%BF%E4%B8%8Aphp%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%E6%80%9D%E8%B7%AF%E4%B8%8E%E5%AE%9E%E8%B7%B5/前几天,在一淘网,腾讯网媒和微博商业技术联合组织的技术分享大会上,我分享了《在线PHP问题排查思路与实践》。此博文除了对PPT..._在php开发过程中,线上代码怎么查哪段代码有问题,且不影响线上运行

linux 内核升级-程序员宅基地

文章浏览阅读841次,点赞28次,收藏9次。centos 7.x 升级内核 3.x 至 5.x

去掉java文件中的注释_利用JavaParser去除java文件中的注释-程序员宅基地

文章浏览阅读922次。利用JavaParser去除java文件中的注释个人博客:记录一下在项目实施过程中的一些点情景回顾之前项目有个需求,就是去掉.java文件中的所有注释,常用的方法是用正则匹配。然而在网络上查找到的正则或多或少都有一些问题,无法匹配到所有的情况。或者说,由于写.java文件的人的不规范(各种奇葩的问题),导致正则覆盖不全。所以正则方法不靠谱,或者说,存在一定的限制。新的想法后来想到利用AST来去除注..._在线java代码去除注释工具

VSCode - 使用VSCode远程连接到Linux并实现免密码登录_vscode连接linux-程序员宅基地

文章浏览阅读3w次,点赞77次,收藏282次。VSCode - Linux - 使用VSCode远程连接到Ubuntu并实现免密登录我使用的是Ubuntu14.04,即便是使用其他发行版也不会影响操作步骤_vscode连接linux

生活随记-腊月第一天-程序员宅基地

文章浏览阅读2.3k次。年底了总是很容易思考人生。出差坐在太原的yd酒店15楼,泡一壶茶翻着书听点音乐,坐在窗边看下空旷冷清的街道。感叹一声,逝者如斯夫不舍昼夜。这一年年过得真快。思考着自己的工作和以后的生活,何去何从。很多事情形成习惯之后就会懒得去改变,逐渐形成一种倦怠。工作,生活,投资也是。也好,今晚就让自己沉浸在无尽交织的思绪中吧。明天睡个懒觉吃个brunch回上海。转眼又到12月了。..._腊月第一天

随便推点

深信服AF防火墙配置SSL VPN_深信服ssl配置教程-程序员宅基地

文章浏览阅读1.5k次,点赞6次,收藏13次。深信服防火墙配置SSL VN_深信服ssl配置教程

linux系统rabbitmq安装步骤_rabbitmq linux安装-程序员宅基地

文章浏览阅读768次。一、安装erlang:1、先下载rpm包:wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm2、rpm包:rpm -Uvh erlang-solutions-1.0-1.noarch.rpm可能会有以下问题:解决办法:(执行以下命令后,在执行上一条命令)yum..._rabbitmq linux安装

CentOS 7 安装最新版Docker教程_centos7安装最新版dockers-程序员宅基地

文章浏览阅读781次。docker安装官方文档:Install Docker Engine on CentOS2、安装提供了工具3、通过添加docker repository如果出现上面的错误提示,可通阿里源进行添加4、安装docker4.1、直接安装最新版本这步完成后可直接跳至启动docker4.2、或者安装指定版本按版本号倒序列出可安装版本列表安装指定版本例如安装20.10.9版本5、启动docker通过进行启动设置docker服务开机启动6、测试7、卸载docker下的_centos7安装最新版dockers

敏感字识别算法基于JDK8 lambada表达式_敏感文本识别算法-程序员宅基地

文章浏览阅读429次。package aaa.bbb.demo;import java.util.ArrayList;import java.util.List;public class RecognitionDemo { public static void main(String[] args) { String str1="SB哈NM哈哈哈WBDhdsada"; String str_敏感文本识别算法

华为鸿蒙系统(Huawei HarmonyOS)

华为鸿蒙系统Huawei HarmonyOS

JS读取粘贴板内容-程序员宅基地

文章浏览阅读4.9k次。1.1 监听onpaste事件1.1.1 定义和用法npaste 事件在用户向元素中粘贴文本时触发。注意:虽然使用的 HTML 元素都支持 onpaste 事件,但实际上并非支持所有元素,例如 <p> 元素, 除非设置了 contenteditable 为 "true" (查看下文的更多实例)。提示:onpaste 事件通常用于 type="text" 的 ..._js 获取粘贴板内容 移动端